»ª¿Æ_¼ÆËã»úϵͳʵÑ鱨¸æ

·¢²¼Ê±¼ä : ÐÇÆÚÈý ÎÄÕ»ª¿Æ_¼ÆËã»úϵͳʵÑ鱨¸æ¸üÐÂÍê±Ï¿ªÊ¼ÔĶÁ

ʵÑé2£º ²ðµ¯ÊµÑé

2.1 ʵÑé¸ÅÊö

ʵÑéÄ¿µÄ£ºÔöÇ¿¶Ô³ÌÐòµÄ»úÆ÷¼¶±íʾ¡¢»ã±àÓïÑÔ¡¢µ÷ÊÔÆ÷ºÍÄæÏò¹¤³ÌµÈ·½ÃæÔ­ÀíÓë¼¼ÄܵÄÕÆÎÕ¡£

ʵÑéÄ¿±ê£ºÐèÒª²ð³ý¾¡¿ÉÄܶàµÄÕ¨µ¯¡£

ʵÑéÒªÇó£ºÊ¹ÓÃgdbµ÷ÊÔÆ÷ºÍobjdumpÀ´·´»ã±àÕ¨µ¯µÄ¿ÉÖ´ÐÐÎļþ£¬²¢µ¥²½¸ú×Ùµ÷ÊÔÿһ½×¶ÎµÄ»úÆ÷´úÂ룬´ÓÖÐÀí½âÿһ»ã±àÓïÑÔ´úÂëµÄÐÐΪ»ò×÷Ó㬽ø¶øÉè·¨¡°Íƶϡ±³ö²ð³ýÕ¨µ¯ËùÐèµÄÄ¿±ê×Ö·û´®¡£ ʵÑéÓïÑÔ£ºc¡£ ʵÑé»·¾³£ºlinux

2.2 ʵÑéÄÚÈÝ

Ò»¸ö¡°binary bombs¡±£¨¶þ½øÖÆÕ¨µ¯£¬ÏÂÎĽ«¼ò³ÆΪըµ¯£©ÊÇÒ»¸öLinux¿ÉÖ´ÐÐC³ÌÐò£¬°üº¬ÁË6¸ö½×¶Î£¨phase1~phase6£©¡£Õ¨µ¯ÔËÐеÄÿ¸ö½×¶ÎÒªÇóÄãÊäÈëÒ»¸öÌض¨µÄ×Ö·û´®£¬ÈôÄãµÄÊäÈë·ûºÏ³ÌÐòÔ¤ÆÚµÄÊäÈ룬¸Ã½×¶ÎµÄÕ¨µ¯¾Í±»¡°²ð³ý¡±£¬·ñÔòÕ¨µ¯¡°±¬Õ¨¡±²¢´òÓ¡Êä³ö \×ÖÑù¡£ÊµÑéµÄÄ¿±êÊDzð³ý¾¡¿ÉÄܶàµÄÕ¨µ¯²ã´Î¡£

ÿ¸öÕ¨µ¯½×¶Î¿¼²ìÁË»úÆ÷¼¶ÓïÑÔ³ÌÐòµÄÒ»¸ö²»Í¬·½Ã棬ÄѶÈÖ𼶵ÝÔö£º * ½×¶Î1£º×Ö·û´®±È½Ï * ½×¶Î2£ºÑ­»· * ½×¶Î3£ºÌõ¼þ/·ÖÖ§ * ½×¶Î4£ºµÝ¹éµ÷ÓúÍÕ» * ½×¶Î5£ºÖ¸Õë

* ½×¶Î6£ºÁ´±í/Ö¸Õë/½á¹¹

ÁíÍ⻹ÓÐÒ»¸öÒþ²Ø½×¶Î£¬µ«Ö»Óе±ÄãÔÚµÚ4½×¶ÎµÄ½âÖ®ºó¸½¼ÓÒ»Ìض¨×Ö·û´®ºó²Å»á³öÏÖ¡£

ΪÁËÍê³É¶þ½øÖÆÕ¨µ¯²ð³ýÈÎÎñ£¬ÄãÐèҪʹÓÃgdbµ÷ÊÔÆ÷ºÍobjdumpÀ´·´»ã±àÕ¨µ¯µÄ¿ÉÖ´ÐÐÎļþ£¬²¢µ¥²½¸ú×Ùµ÷ÊÔÿһ½×¶ÎµÄ»úÆ÷´úÂ룬´ÓÖÐÀí½âÿһ»ã±àÓïÑÔ´úÂëµÄÐÐΪ»ò×÷Ó㬽ø¶øÉè·¨¡°Íƶϡ±³ö²ð³ýÕ¨µ¯ËùÐèµÄÄ¿±ê×Ö·û´®¡£Õâ¿ÉÄÜÐèÒªÄãÔÚÿһ½×¶ÎµÄ¿ªÊ¼´úÂëÇ°ºÍÒý±¬Õ¨µ¯µÄº¯ÊýÇ°ÉèÖöϵ㣬ÒÔ±ãÓÚµ÷ÊÔ¡£

2.2.1 ½×¶Î1 ×Ö·û´®±È½Ï

1. ÈÎÎñÃèÊö£ºÍ¨¹ýphase_1µÄ·´»ã±à´úÂëÕÒ³öÒªÊäÈëµÄ×Ö·û´®¡£

2. ʵÑéÉè¼Æ£ºÀûÓÃgdb½áºÏ¶ÏµãÀ´¶¯Ì¬µØ·ÖÎö¡£ 3. ʵÑé¹ý³Ì£º

¹Û²ìphase_1µÄ·´»ã±à´úÂ룬Èçͼ2.1.1Ëùʾ£º

ͼ2.1.1

·¢ÏÖÔÚµ÷ÓÃstrings_not_equal¶Ô±È×Ö·û´®Ö®Ç°£¬ÓÐÒ»¸öµØÖ·ËÍÈëÁ˶ÑÕ»£¬´óµ¨²Â²â¸ÃµØÖ·¾ÍÊÇÕýÈ·×Ö·û´®µÄÊ×Ö·£¬ÓÚÊÇÔÚphase_1´¦Ï¸ö¶Ïµã£¬ÔËÐÐÖÁ´Ë´¦ºó£¬ÓÃxÃüÁî²é¿´×Ö·û´®¡£Èçͼ2.1.2Ëùʾ£º

ͼ2.1.2

¹Ê²Â²â¡°Border relations with Canada have never been better.¡±¾ÍÊÇËùÐè×Ö·û´®¡£ÖØÐÂÖ´ÐиóÌÐò£¬Ö±½ÓÊäÈë¸Ã×Ö·û´®£¬¹Û²ì½á¹û¡£Èçͼ2.1.3Ëùʾ£º

ͼ2.1.3

4. ʵÑé½á¹û£ºÈçͼ2.1.3Ëùʾ£¬½×¶ÎÒ»²ðµ¯³É¹¦£¡

½×¶ÎÒ»ºÜ¼òµ¥£¬µ±³õµÄÕÒ³ö×Ö·û´®Ê×µØÖ·¾Í¿ÉÒÔÁË£¬Ã»ÓÐʲô´óµÄÄѵ㡣

2.2.2 ½×¶Î2 Ñ­»·

1. ÈÎÎñÃèÊö£ºÍ¨¹ýphase_2µÄ·´»ã±à´úÂëÍƶϵڶþ½×¶ÎÒªÊäÈëµÄÊý¾Ý 2. ʵÑéÉè¼Æ£ºÀûÓÃgdb½áºÏ¶ÏµãÀ´¶¯Ì¬µØ·ÖÎö 3. ʵÑé¹ý³Ì£º

¹Û²ìphase_1µÄÇ°Ò»²¿·Ö·´»ã±à´úÂ룬Èçͼ2.2.1Ëùʾ£º

ͼ2.2.1

·¢ÏÖÊäÈëµÄÓ¦¸ÃÊÇÁù¸öÊý×Ö£¬¶øÇÒÒªÇó[esp+0x18]±ØÐë´óÓÚµÈÓÚ0²ÅÐУ¬ÓÚÊDzâÊÔÊäÈë¡°0 1 2 3 4 5¡±£¬¹Û²ìÕâЩÊý×ÖÔÚµ÷ÓÃread_six_numbersºóÊÇÈçºÎ´æ·ÅÔÚÕ»Öеģ¬Èçͼ2.2.2Ëùʾ£º

ͼ2.2.2

¹Û²ìµ½Ö´ÐÐread_six_numbersºó£¬ÊäÈëµÄÊý×ÖÒÀ´Î´æ·ÅÔÚesp+0x18¡¢esp+0x1c¡¢esp+0x20¡¢esp+0x24¡¢esp+0x28¡¢esp+0x2cÖУ¬¹Ê¶ÔÊäÈëµÄÊý×ÖÊ×ÏȾÍÒªÓеÚÒ»¸öÊý²»ÄÜСÓÚ0¡£¼ÌÐø¹Û²ìphase_2µÄºóÒ»²¿·Ö·´»ã±à´úÂ룬Èçͼ2.2.3Ëùʾ£º

ͼ2.2.3

ÄÜÈÝÒ×·¢ÏÖÕâÊÇÒ»¸öÑ­»·£¬Ê×ÏȽ«ebx¸³ÖµÎª1£¬È»ºó±È½Ï[esp+ebx*4+0x14]¼ÓÉÏebxÓë[esp+ebx*4+0x18]ÊÇ·ñÏàµÈ£¬ÏàµÈ¾Íebx¼ÓÒ»¼ÌÐøÖ´ÐУ¬Ö±µ½ebxµÈÓÚ6ºóÍ˳ö¡£

È»ºóÀ´·ÖÎöÓ¦¸ÃÊäÈëµÄÖµ¡£µÚÒ»¸öÊýÖ»Òª´óÓÚµÈÓÚ0¾Í¿ÉÒÔ¡£

²»·Á¾ÍÊäÈë0¡£Ëû½«»á±»±£´æÔÚesp+0x18´¦¡£ËùÒÔebxµÈÓÚ1ʱ£¬ÓÐ[esp+ebx*4+0x18]=[esp+0x1c]=[esp+ebx*4+0x14]+ebx=[esp+0x18]+1¡£¹ÊµÚ¶þ

¸öÊäÈëµÄÊý×ÖÓ¦¸ÃΪ0+1=1¡£Í¬Àí·ÖÎö¿ÉµÃºóÃæµÄÊýÒÀ´ÎΪ3¡¢6¡¢10¡¢15¡£¹ÊÕâÁù¸öÊýÒÀ´ÎΪ0¡¢1¡¢3¡¢6¡¢10¡¢15¡£

ÖØÐÂÖ´ÐиóÌÐò£¬Ö±½ÓÊäÈë¡°0 1 3 6 10 15¡±£¬¹Û²ì½á¹û¡£Èçͼ2.2.4Ëùʾ£º

ͼ2.2.4

4. ʵÑé½á¹û£ºÈçͼ2.2.4Ëùʾ£¬½×¶Î¶þ²ðµ¯³É¹¦£¡

½×¶Î¶þÉæ¼°µ½ÁËСµÄÑ­»·£¬ÂýÂýµÄÒÀ´ÎÖ´ÐкÜͬÒâ¾ÍÄÜ·¢ÏÖ¹æÂÉ£¬Ò²²»ÊǺÜÄÑ¡£

2.2.3 ½×¶Î3 Ìõ¼þ/·ÖÖ§

1. ÈÎÎñÃèÊö£ºÍ¨¹ýphase_3µÄ·´»ã±à´úÂëÍƶϵÚÈý½×¶ÎÒªÊäÈëµÄÊý¾Ý 2. ʵÑéÉè¼Æ£ºÀûÓÃgdb½áºÏ¶ÏµãÀ´¶¯Ì¬µØ·ÖÎö 3. ʵÑé¹ý³Ì£º

¹Û²ìphase_3µÄÇ°Ò»²¿·Ö·´»ã±à´úÂ룬Èçͼ2.3.1Ëùʾ£º

ͼ2.3.1

·¢ÏÖÊäÈëµÄÓ¦¸ÃÒªÇó__isoc99_sscanf@pltµÄ·µ»ØÖµ´óÓÚ1£¬ÓÚÊǹ۲ìµ÷ÓÃ__isoc99_sscanf@pltʱ¸ñʽ×Ö·û´®µÄÖµ£¬ÔÚ0x8048c23´¦Ï¶ϵãÈ»ºó½øÈ뺯Êýµ¥²½µ÷ÊÔ£¬²¢²âÊÔÊäÈë¡°0 1 2 3 4¡±£¬Èçͼ2.3.2Ëùʾ£º

ͼ2.3.2

¹Û²ìµ½¸ñʽ×Ö·û´®Îª¡°%d %d¡±£¬¹ÊÖ»ÐèÊäÈëÁ½¸öÊý×Ö¼´¿É¡£Í¬phase_2²Ù×÷¿ÉÒÔ·¢ÏÖÊäÈëµÄÊý×ÖÒÀ´Î´æ·ÅÔÚesp+0x18¡¢esp+0x1cÖС£¼ÌÐø¹Û²ìphase_3µÄ

ÁªÏµºÏͬ·¶ÎÄ¿Í·þ£ºxxxxx#qq.com(#Ì滻Ϊ@)