¸ñʽ»¯×Ö·û´®¹¥»÷(2)

2019-09-01 19:52

1¡¢È·¶¨º¯Êýµ÷Óùý³Ì£¬Í¨¹ý·´»ã±à£¬²é¿´¼Ä´æÆ÷¡¢ÄÚ´æÄÚÈÝÈ·¶¨º¯ÊýÔÚµ÷Óùý³ÌÖеÄESP¡¢EBP¡¢EIPµÄ±ä»»£¬´Ó¶øÇåÎúÁ˽â¾ßÌåµ÷Óùý³Ì£¬ÎªÖ®ºóµÄ¹¥»÷´òÏÂÁ¼ºÃµÄÀíÂÛ»ù´¡¡£

2¡¢·ÖÎöprintfº¯Êý©¶´£¬Í¨¹ý¹¹ÔìһЩÕë¶ÔµÄ¸ñʽ»¯×Ö·û´®£¬³¢ÊÔһЩǿÓÐÁ¦µÄ¸ñʽ»¯×Ö·û´®µÄÓ÷¨£¬²é¿´Êä³ö½á¹û¡£

3¡¢³¢ÊÔÀûÓÃprintfº¯Êý©¶´£¬ÕÒµ½×Óº¯Êý·µ»ØµÄEIPµØÖ·£¬²¢¸ü¸Ä¸ÃµØÖ·£¬¼´Ö²Èëshellcode¡£shellcodeΪ¼òµ¥µÄµ¯³öcmd¶Ô»°¿ò¡£

3.3ʵÑé»·¾³

3.3.1Ö÷»ú²Ù×÷ϵͳ£º Window7Æì½¢°æ ´¦ÀíÆ÷£º 3.3.2ÐéÄâ»ú»·¾³ Vmwork station 8.0

²Ù×÷ϵͳ£ºWindows xp3

IDE£ºmicrosoft visual c++ 6.0£¨debug°æ±¾ºÍrelease°æ±¾¶¼ÓÐÓùý£©

3.4ʵÑéËùÓõ½µÄ¹¤¾ß

3.4.1 microsoft visual c++ 6.0 1£©¹¤¾ß¸ÅÊö

Visual c++ 6.0ÓÉmicrosoft¿ª·¢£¬²»½ö½öÊÇc++±àÒëÆ÷£¬¶øÇÒÊÇ»ùÓÚwindows²Ù×÷ϵͳµÄ¿ÉÊÓ»¯¼¯³É¿ª·¢»·¾³¡£ 2£©¹¤×÷Ô­Àí

¢Ùmicrosoft visual c++6.0¿ÉÒÔ½¨Á¢win32 console application¹¤³Ì¡£ ¢Ú¸Ã¼¯³É¿ª·¢»·¾³¿ÉÒԲ鿴¸ß¼¶ÓïÑÔ¶ÔÓ¦µÄ»ã±à´úÂ룬Äܲ鿴¼Ä´æÆ÷¡¢ÄÚ´æµÈÄÚÈÝ£¬ÊDZȽϺõĿª·¢¹¤¾ß¡£

¢ÛÀûÓÃmicrosoft visual c++6.0 tools µÄdepends¹¤¾ß²é¿´ÏµÍ³ÌṩµÄº¯ÊýµÄÈë¿ÚµØÖ·£¬±àдshellcodeʱÐèÒªÓõ½¡£ 3.4.2 Immunity Debugger

1£©¹¤¾ß¸ÅÊö

Immunity Debugger¾ßÓй¦ÄÜͼ±íµÄÇ¿´óµÄÓû§½çÃæ¡¢ÎªÈëÇÖÉøÍ¸ÐÐҵרÃÅΪ¶Ñ´´½¨¶øÖÆ×÷µÄµÚÒ»¸ö¶Ô·ÖÎö¹¤¾ß£¬Ö§³ÖpythonÓ¦ÓóÌÐò±à³Ì½Ó¿Ú£¬ºÜÈÝÒ×½øÐÐÀ©Õ¹¡£

1£©¹¤¾ßµÄ°²×°

¸Ã¹¤¾ßÐèÒª°²×°ÒÔÏÂÈí¼þ£º ¢Ùpython-2.5.2

¢Úpy2exe-0.6.9.win332-py2.4 ¢ÛImmunity Debugger setup 2£©¹¤×÷Ô­Àí

Óжà¸ö¹¦ÄÜÄ£¿é£º

¢Ùmemory mapÄÚ´æµØÍ¼-²é¿´ÄÚÈݵķֲ¼ ¢Úlog data£¬¼Ç¼ʹÓÃÈÕÖ¾

¢Ûcpu-thread£¬´úÂë¶Î£¬ÏÔʾִÐеĴúÂë

6

¢Üregister£¨fpu£©£¬ÏÔʾ¼Ä´æÆ÷µÄÖµ ¢Ýcall stack of main thread£¬²é¿´Õ»ÐÅÏ¢

ËÄ¡¢ÊµÑéÑéÖ¤

4.1ϵͳջµÄ¾ßÌ幤×÷

ͼ1.1-³ÌÐò´úÂëA

1£©±àÒëÔËÐк󣬽«xiaorong.exeÔÚImmunity DebuggerÖе÷ÊÔ¿ÉÒÔÇå³þµÃ¿´µ½PE header¡¢text¡¢data¡¢rsrc¡¢relocµÈ½ÚÐÅÏ¢ÒÔ¼°Æä¶ÔÓ¦µÄÄÚ´æµØÖ·¡£

ͼ1.2-ÄÚ´æµØÍ¼

Êý¾ÝÇøµØÖ·£º0x00422000-0x00424000 ´úÂëÇøµØÖ·£º0x00401000-0x00421000 ¶ÑÕ»ÇøµØÖ·£º0x0012E000-0x00130000

2£©ÉÏÃæÖ»ÊǰïÖúÎÒÃÇÀí½âPEÎļþ£¬½ÓÏÂÀ´£¬ÔÚvc6.0ÖнøÐз´»ã±à½øÐÐÉîÈëµØÁ˽âϵͳջµÄ¹¤×÷£¬ÈçÏÂͼÊÇ·´»ã±à½á¹û£º

¢Ùchar string[]Ö¸Á

7

ͼ1.3-³ÌÐòAµÄ»ã±à´úÂë1

²é¿´Êý¾ÝÇø£º

ͼ1.4-×Ö·û´®´æ·ÅµÄÊý¾ÝÇø

¿ÉÒÔ¿´µ½ÄÚ´æµØÖ·Îª0x00422048Àï´æ·ÅµÄÊÇ¡°Hello World£¡¡±Êý¾Ý£¬Òò´ËÎÒÃÇ¿ÉÒÔÕâÑùÀí½â´úÂ룺½«ÄÚ´æµØÖ·Îª0x00422048Àï´æ·ÅµÄÊÇ¡°Hello World£¡¡±Êý¾ÝÒÔË«×ÖΪµ¥Î»£¨×îºóÒ»²¿·ÖÒÔ×ÖΪµ¥Î»£©¸´ÖƵ½Õ»Çø¡£

Ö¸ÁîÖ´ÐÐÍêºóÕ»Çø[ebp-10h]µÄÊý¾ÝÈçÏ£º£¨ebp=0x0012ff80£©

ͼ1.5-Õ»ÇøÄÚÈÝ

ÓÉ´Ë˵Ã÷ÔÚmainº¯ÊýÖУ¬½«¾Ö²¿±äÁ¿stringÊý×éѹÈëÁ˶ÑÕ»¡£

¢Úprintf£¨£©£»Ö¸Á

ͼ1.6-³ÌÐòAµÄ»ã±à´úÂë2

¸Ã²½ÖèÖÐÊ×ÏÈ»ñµÃÁËstringÕâ¸ö±äÁ¿ÔÚ¶ÑÕ»ÖÐµÄÆ«ÒƵØÖ·£¬¼´[ebp-10h]£¬Ñ¹Èë¶ÑÕ»£¬È»ºó½«¸ñʽ»¯×Ö·û´®µÄÆ«ÒÆµØÖ·Ñ¹Èë¶ÑÕ»¡£

²é¿´Êý¾ÝÇø£º

ͼ1.7-¸ñʽ»¯×Ö·û´®ËùÔÚµÄÊý¾ÝÇø

·¢ÏÖ¸ñʽ»¯×Ö·û´®µÄ´æ·ÅµØÖ·ÔÚ0x0042201cÖУ¬ÕâÑùÀí½â´úÂ룺 ½«¸ñʽ´®µÄ´æ·ÅµØÖ·Ñ¹ÈëÁËÕ»ÖУºÕ»¶¥£¨0x0012ff1c£©´æ·ÅµÄ¼´ÊǵØÖ·0x0042201c.

ͼ1.8-Õ»Çø

8

ÔÚ¸ñʽ»¯×Ö·û´®ÈëÕ»ºó¾Íµ÷ÓÃÁËprintfº¯Êý£¬º¯ÊýµØÖ·Îª0x00401090£¬¿ÉÒÔÔÚ´úÂëÇøÕÒµ½£º

ͼ1.9-³ÌÐòAµÄ×Óº¯Êý»ã±à´úÂë

¿ÉÒÔ¿´µ½printfº¯Êýµ÷ÓÃʱÊ×ÏȽ«ebpÈëÕ»£¬ÔÙ½«ÏÖÔÚµÄÕ»¶¥µØÖ·¸³¸øebp£¬¼´´´½¨ÐµÄÕ»Ö¡£¬ÔÙ½«espµØÖ·¼õ0ch£¬ÐèҪ˵Ã÷µÄÊÇÕ»µÄÉú³¤·½ÏòÊÇÏòµÍµØÖ·Éú³¤µÄ£¬È»ºó±£»¤¼Ä´æÆ÷ÏÖ³¡£¬ÔÙ¿ªÊ¼Ö´Ðй¦ÄÜ¡£ ¢Ûprintf( )²é¿´format¸ñʽ´®ÔÚÕ»ÖеÄλÖ㺣¨0x0012ff1c£©£¬¿ÉÒÔ·¢ÏÖºóÃæµÄËĸö×Ö½ÚÊÇstringÔÚÕ»ÖеĵØÖ·£¨0x0012ff70£©

ͼ1.10-Õ»Çø

¸ù¾ÝformatÖÐ (%)µÄÊýÄ¿À´ÒÀ´ÎÏÔʾ¶ÑÕ»ÖÐformat²ÎÊýºóÃæµØÖ·µÄÄÚÈÝ£¬Ã¿´Î¸ù¾Ý%¸ñÊ½ÒÆ¶¯ÏàÓ¦µÄ×Ö½ÚÊý(Èç%sΪ4¸ö×Ö½Ú£¬%fΪ8¸ö×Ö½Ú)£¬Òò¶ø´òÓ¡½á¹ûΪ00000000ºÍ00000000¡£ ³ÌÐòµÄÖ´Ðнá¹û£º

ͼ1.11-Ö´Ðнá¹û

ÓÉÉÏÊö¹ý³Ì¿ÉÒÔ¿´µ½º¯ÊýµÄµ÷Óùý³ÌÖжÑÕ»Çé¿ö£º ¶ÑÕ»µØÖ· Õ»ÖÐÄÚÈÝ ËµÃ÷ £¨ÒÔµØÖ·ÎªÊ×Ö·µÄË«×ÖÄÚÈÝ£© Õ»¶¥ 0x0012ff14 80 FF 12 00£¨ÖµÎª0x0012FF80£© µ÷ÓÃprintf£¨£©Ê±±£³ÖµÄebp 0x0012ff18 58 10 40 00£¨ÖµÎª0x00401058£© µ÷ÓÃprintf£¨£©Ê±±£³ÖµÄeip 0x0012ff1c 1C 20 42 00£¨ÖµÎª0x0042201c£© \ , arg2: %#p , arg3: \¸ñʽ×Ö·û´®µÄµØÖ· 0x0012ff20 70 FF 12 00£¨ÖµÎª0x0012ff70£© ¡°Hello World£¡¡±µÄµØÖ· 0x0012ff20 Èô¸É00000000»òÕßcccccccc Mainº¯ÊýΪ¾Ö²¿±äÁ¿¶àÁô- ³öµÄÕ»ÄÚ´æ 0x0012FF70 0x0012FF70 48 65 6C 6C ´æ·Å¡°Hello World£¡¡± 9

0x0012FF80 C0 FF 12 00 Õ»µ× ±í2-³ÌÐòAÖÐÕ»µÄʹÓÃÇé¿ö 4.2printfº¯Êý©¶´

4.2.1ÓÃprintfº¯Êý¶ÁÈ¡ÄÚ´æÊý¾Ý

ͼ2.1-³ÌÐòBµÄ´úÂë

µÚÒ»¸öprintfº¯Êýµ÷ÓÃÕýÈ·£¬¶øµÚ¶þ¸öprintfº¯ÊýȱÉÙÁËÊä³öÊý¾ÝµÄ±äÁ¿ÁÐ±í£¬½á¹ûÈçºÎ£¿

±àÒëÔËÐÐʱ¿ÉµÃÈçÏÂͼ2.1£º

ͼ2.2-³ÌÐòBµÄÖ´Ðнá¹û

·ÖÎö£º

1¡¢ÓÃImmunity Debuggerµ÷ÊÔʱµÃµ½µÄ½á¹ûҲΪÉÏͼ£¬ºÜÆæ¹ÖµØ³öÏÖÁË4223040Õâ¸öËæ»úÊý´®£¬¾­·ÖÎöÖª£º4223040(10)=00407040(16),ÔÚImmunity DebuggerÖпÉÒÔ¿´µ½£º¼´¡°a=%d,b=%d¡±µÄµØÖ·£¨²»ÊÇ¡°a=%d,b=%d,c=%d¡±!£©

ͼ2.3-ÔÚimmunity debuggerÖеÄÕ»µÄÇé¿ö

2¡¢ÎªÊ²Ã´b=53£¬c=54ÁËÄØ£¿ÔÚµ÷ÓõÚÒ»¸öprintfº¯Êýʱ£¬²ÎÊý´ÓÓÒÏò×óÈëÕ»£¬£¨°üÀ¨¸ñʽ¿ØÖÆ·û¡°a=%d,b=%d¡±µÄµØÖ·£©£¬Õ»µÄ״̬Èçͼ£¬ÔÚµÚ¶þ´Îµ÷ÓÃprintfº¯Êýʱ£¬²ÎÊýÖÐÉÙÁËÊäÈëÊý¾ÝÁÐ±í²¿·Ö£¬¹ÊֻѹÈë¸ñʽ¿ØÖÆ·û²ÎÊý£¬¼´

¡°a=%d,b=%d,c=%d¡±µÄµØÖ·¡£¾¡¹ÜûÓÐÊä³öÊý¾ÝÁÐ±í£¬µ«ÏµÍ³°´¡°¸ñʽ¿ØÖÆ·ûÖ¸Ã÷µÄ·½Ê½Êä³öÁËÕ»ÖнôËæÆäºóµÄÈý¸öDWORDÖµ¡ªÆäÒ»Ö¸Ïò¸ñʽ»¯×Ö·û´®µÄÖ¸Õë4223040(10)£»Æä¶þ£¬¼´Îª±äÁ¿aµÄÖµ¡®5¡¯µÄascIIÂëΪ53£»ÆäÈýΪ±äÁ¿bµÄÖµ¡®6¡¯£¬ascii±äÁ¿µÄֵΪ54£¬±ãÒÀ´ÎÊä³öÁË¡£ ÓÉ´Ë¿ÉÒԵóöÒ»¸ö½áÂÛ£º

¡ïprintfº¯ÊýÕë¶ÔûÓÐÊý¾ÝÁбíÓëÆä¶ÔÓ¦µÄÇé¿öÏ£¬Ã¿Ò»¸ö%d¶¼»á½âÎö³É´ÓÕ»ÉÏÍù»Ø¶ÁÒ»¸öË«×Ö£¡

10


¸ñʽ»¯×Ö·û´®¹¥»÷(2).doc ½«±¾ÎĵÄWordÎĵµÏÂÔØµ½µçÄÔ ÏÂÔØÊ§°Ü»òÕßÎĵµ²»ÍêÕû£¬ÇëÁªÏµ¿Í·þÈËÔ±½â¾ö£¡

ÏÂһƪ£ºÇຣÐóÄÁÊÞÒ½Ö°Òµ¼¼ÊõѧԺ×ÔÖ÷ÕÐÉúÃæÊÔÊÔÌâ×ÛºÏËØÖʴ𰸼¼ÇÉ

Ïà¹ØÔĶÁ
±¾ÀàÅÅÐÐ
¡Á ×¢²á»áÔ±Ãâ·ÑÏÂÔØ£¨ÏÂÔØºó¿ÉÒÔ×ÔÓɸ´ÖƺÍÅŰ棩

ÂíÉÏ×¢²á»áÔ±

×¢£ºÏÂÔØÎĵµÓпÉÄÜ¡°Ö»ÓÐĿ¼»òÕßÄÚÈݲ»È«¡±µÈÇé¿ö£¬ÇëÏÂÔØÖ®Ç°×¢Òâ±æ±ð£¬Èç¹ûÄúÒѸ¶·ÑÇÒÎÞ·¨ÏÂÔØ»òÄÚÈÝÓÐÎÊÌ⣬ÇëÁªÏµÎÒÃÇЭÖúÄã´¦Àí¡£
΢ÐÅ£º QQ£º