Äú¿ÉÒÔ¾èÖú£¬Ö§³ÖÎÒÃǵĹ«ÒæÊÂÒµ¡£

1Ôª 10Ôª 50Ôª





ÈÏÖ¤Â룺  ÑéÖ¤Âë,¿´²»Çå³þ?Çëµã»÷Ë¢ÐÂÑéÖ¤Âë ±ØÌî



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Model Center   Code  
»áÔ±   
   
 
     
   
 ¶©ÔÄ
  ¾èÖú
ARM ¼Ü¹¹¡ªÌ½¾¿ÈƹýNXµÄÒ»ÖÖ·½Ê½Ret2ZP
 
×÷ÕߣºTigerTiger
  1611  次浏览      27
 2021-9-18
 
±à¼­ÍƼö:
±¾ÎÄÖ÷Òª½éÉÜÁËARMºÍX86¶Ô»º³åÇøÒç³öÀûÓõÄÇø±ð,ʹÓÃRaspbian ÐéÄâ»ú´î½¨»·¾³£¬Ï£Íû¶ÔÄúµÄѧϰÓÐËù°ïÖú¡£
±¾ÎÄÀ´×ÔÓÚ°²È«¿Í£¬ÓÉ»ðÁú¹ûÈí¼þAlice±à¼­¡¢ÍƼö¡£

01 ǰ ÑÔ

ARM Ö¸Á¼Ü¹¹£¬³£ÓÃÓÚǶÈëʽÉ豸ºÍÖÇÄÜÊÖ»úÖУ¬ÊÇ´ÓRISCÑÜÉú¶øÀ´µÄ¡£²¢ÇÒARM´¦ÀíÆ÷¼¸ºõ³öÏÖÔÚËùÓеÄÁ÷ÐÐÖÇÄÜÊÖ»úÖУ¬°üÀ¨IOS¡¢Android¡¢Window PhoneºÍºÚÝ®²Ù×÷ϵͳ£¬²¢ÇÒÔÚǶÈëʽÉ豸Öо­³£³öÏÖ£¬ÈçµçÊÓ»ú¡¢Â·ÓÉÆ÷¡¢ÖÇÄÜÍø¹ØµÈ¡£ARMºÍx86Ö¸Á¼Ü¹¹Ïȱȣ¬ARMÓÉÓÚÆð¾«¼òÖ¸Á£¬¾ßÓиßЧ£¬µÍºÄÄܵÈÓŵ㣬¿ÉÒÔȥȷ±£ÔÚǶÈëʽϵͳÉÏÌṩ³öÉ«µÄÐÔÄÜ¡£

02 »º³åÇøÒç³öÔ­Àí

»º³åÇøÊÇÓÃÓÚ±£´æÊý¾ÝµÄÁÙʱÄÚ´æ¿Õ¼ä¡£»º³åÇøÒç³öͨ³£·¢ÉúÔÚдÈ뻺³åÇøµÄÊý¾Ý´óÓÚ»º³åÇø´óСʱ£¬ÓÉÓڱ߽ç¼ì²é²»×㣬»º³åÇøÒç³ö²¢Ð´ÈëÏàÁÚµÄÄÚ´æÎ»Öã¬ÕâЩλÖÿÉÄÜÊÇÒ»Ð©ÖØÒªµÄÊý¾Ý»ò·µ»ØµØÖ·µÈ¡£

²¢ÇÒ¾Ö²¿±äÁ¿Ò»°ãÀ´ËµÔÚ³ÌÐòÖÐÊdz䵱»º³å±äÁ¿»òÕß»º³åÇø¡£

ÔÚ»º³åÇøÒç³öÖУ¬ÎÒÃǵÄÖ÷ҪĿµÄÊÇÓÃһЩÊÖ¶ÎÀ´Ð޸ķµ»ØµØÖ·£¬Í¨¹ý¿ØÖÆÁ´½Ó¼Ä´æÆ÷£¨LR£©À´¿ØÖƳÌÐòÖ´ÐÐÁ÷¡£

Ò»µ©ÎÒÃÇ¿ØÖÆÁË·µ»ØµØÖ·£¬·µ»ØµØÖ·½«¸³Öµ¸øPC¼Ä´æÆ÷£¬½Ù³ÖÁËPC,Äã¾ÍÕÆ¿ØÁËÒ»ÇС£

03 ARMºÍX86¶Ô»º³åÇøÒç³öÀûÓõÄÇø±ð

µ±Ò»¸ö³ÌÐò¿ªÆôNX±£»¤Ö®ºó£¬X86 ¼Ü¹¹Ï£¬Ê×ÏÈÏëµ½µÄÊÇRet2Libc À´ÈƹýNX £¬Æª·ùÓÐÏÞ£¬ÕâÀïRet2Libc¾Í²»Õ¹¿ªËµÁË¡£

µ«ÊÇÔÚARM¼Ü¹¹ÖУ¬Ret µ½ Libc ÊÇÎÞ·¨×öµ½µÄ£¬ÒòΪÔÚARM´¦ÀíÆ÷ÖУ¬º¯ÊýµÄ²ÎÊýÊÇͨ¹ý¼Ä´æÆ÷´«µÝµÄ£¬¶ø²»ÊÇÈçX86£¬º¯ÊýµÄ²ÎÊýͨ¹ý¶ÑÕ»´«µÝ¡£Òò´ËÔÚARMʵÏÖºÍx86 ÖÐRet2LibcÒ»ÑùµÄЧ¹û£¬ÎÒÃÇÐèÒª½«²ÎÊý·ÅÈëµ½¼Ä´æÆ÷ÖС£

ÕâÀïʹÓõ½ÁËRet2ZP¼¼Êõ£¨Return To Zero Prevention£©

¾Ù¸öÀý×Ó£¬ÎÒÃÇÔÚÕ»Òç³öÀûÓÃÖУ¬Ò»°ãµÄ˼·Êǹ¹Ôìgadgets£¬À´Ö´ÐÐsystem(¡°/bin/sh¡±) À´»ñÈ¡shell¡£µ«ÊÇÔÚ¹¹Ôìgadgets£¬ ÐèÒª½« ¡°/bin/sh¡± ´«µÝµ½system º¯ÊýÖ´ÐÐʱµ÷ÓõļĴæÆ÷R0ÖС£

ÕâÀïÔÚ Ret2ZP Öг£ÓõÄÔÚlibc ÖеÄgadgets ÓÐÒÔÏÂÕâЩ£¬ÊÇʵ¼ÊÀûÓÃʱ£¬²¢²»ÊÇÿ¸ö¶¼ÓÐÓã¬Ñ¡ÔÚʵ¼Ê»·¾³ÖпÉÒÔʹÓõľÍÐС£

erand48

lrand48

seed48

04 »·¾³´î½¨

ÕâÀïʹÓõĵÄRaspbian ÐéÄâ»ú£¬ÏÂÔØ°²×°·½·¨ËÑË÷ÒýÇæÓкÜÏêϸµÄÎÄÕ¡£ÕâÀï˵Ã÷Ò»ÏÂÎҴ¹ý³ÌÓöµ½µÄÎÊÌâ¡£

Ê×ÏÈÊÇÔÚRaspbian ÐéÄâ»úÖÐ ÏÂÔØgdb , ½¨ÒéÊÖ¶¯±àÒë¡£ÒòΪapt ÏÂÔØµÄgdb Êǰ汾СÓÚ8.1¡£ÔÚʵ¼Êgdb µ÷ÊÔ»á³öÏÖÈçÏÂͼËùʾÎÊÌâ

½â¾ö·½°¸£ºÕâÊÇgdb Òò ARM ³ÌÐòÄÚ´æË𻵶øÔì³ÉµÄ´íÎó£¬×îºÃµÄ½â¾ö·½Ê½Êǰ²×°gdb-8.1°æ±¾¡£https://github.com/hugsy/gef/issues/206

±àÒëÍêÖ®ºó¡£ÔËÐÐgdb »á³öÏÖÈçÏ´íÎó

Python Exception <type 'exceptions.ImportError'
> No module named gdb:
/usr/local/bin/gdb: warning:
Could not load the Python gdb module from
`/home/pi/gdb-8.2/=/usr/share/gdb/python'.
Limited Python support is available from
the _gdb module.
Suggest passing --data-directory=/path/to
/gdb/data-directory.

½â¾ö·½°¸£ºÕâÊÇÒòΪÔÚ±àÒëµÄµÄʱºòÐèÒªÖ¸¶¨±àÒë»·¾³ÊÇpython3.5£¬Ä¬ÈÏÊÇ2.5£¬Òò´ËÐèÒª ./configure ¡ªprefix=/usr ¡ªwith-system-readline ¡ªwith-python= / usr / bin / python3 . 5m ¡£

ÔÚ±àÒëµÄ¹ý³ÌÖл¹ÓпÉÄÜ»á³öÏÖÈçÏÂͼËùʾµÄȱÉÙ¿âÎļþ ¡°/usr/bin/ld: cannot find -lreadline ¡°

½â¾ö·½°¸£ºsudo apt-get install libreadline6-dev

È»ºó¾ÍÊǰ²×°gef ²å¼þÁË¡£QAQ

05 »º³åÇøÒç³öʵÀý

1£©Â©¶´´úÂë

ÕâÀïÓÃÒ»¸ö×î¼òµ¥µÄ´úÂëÀ´Ñ§Ï°Ret2ZP¼¼Êõ£¬²¢ÇÒ»º³åÇøÒç³öµãÌØ±ðÃ÷È·£¬ÓÐstrcpyº¯Êý½«ÊäÈëµÄ´óÓÚbuf·ÖÅäÄÚ´æ´óСµÄ²ÎÊý´«Èëµ½¹Ì¶¨´óСµÄbuf»º³åÇø£¬´Ó¶øÔì³É»º³åÇøÒç³ö¡£

©¶´´úÂë

 

¹Ø±ÕALSR±£»¤

echo 0 | sudo tee /proc/sys/kernel/randomize _ va _ space

±àÒë´úÂë

pi@raspberrypi:~$ gcc -fno-stack-protector echo _ arm1 . c -o echo_arm

²é¿´±àÒëºóÎļþµÄ±£»¤Çé¿ö¡£

2£© È·¶¨Òç³öµã²¢¼ÆËãÆ«ÒÆ

ʹÓÃgdb ´ò¿ªÎļþµ÷ÊÔ£¬²¢ÇҲ鿴ÎļþÖк¯ÊýµÄ»ã±à´úÂ룬ÈçÏÂͼËùʾ¡£

ÀûÓÃpattern.py Éú³É×Ö·û´®

ÕâÀïÔÚdo_echo º¯ÊýµÄ0x00010468´¦´ò¶Ïµã¡£

ÔËÐгÌÐò²¢½«patternÉú³ÉµÄ×Ö·û´®ÊäÈë¿ÉÒÔ¿´µ½ÔÚÖ´Ðе½0x00010468´¦£¬R11¼Ä´æÆ÷ÖÐÖµÊÇ¡±a5Aa¡±,½ÓÏÂÀ´¼ÆËã³öÕ»Òç³öµÄÆ«ÒÆµØÖ·

¾­¹ý¼ÆË㣬buf»º³åÇøÒç³öµ½·µ»ØµØÖ·ÐèÒª16¸ö×Ö½Ú£¬Ò²¾ÍÊÇ˵½Ù³ÖPC¼Ä´æÆ÷ÐèÒª16¸öpadding¡£

3) ¹¹ÔìROP Chain

ÕâÀïÀûÓÃseed48´úÂëÆ¬¶Î£¬µ±È»Ò²¿ÉÒÔÓÃÎÒÉÏÃæËµµÄlrand48¡£ÕâÀïʹÓà seed48 ±Èlrand48 µÄgadgets Òª¸´ÔÓÒ»µãµã¡£

¿ÉÒÔ¿´µ½R11¼Ä´æÆ÷ºóµÄÖµ

²éÕÒsystemº¯ÊýµØÖ· 0xb6eab154

²éÕÒ¡°/bin/sh¡± ËùÔڵĵØÖ· 0xb6f91944

¹¹ÔìROP chain ÈçÏÂͼËùʾ£¬¸ù¾Ý ARM µÄÌØÐÔ£¬system º¯ÊýÐèÒªµÄ²ÎÊýÐèÒªR0¼Ä´æÆ÷´«Èëµ½ system¡£Òò´ËÐèÒª½« ¡°/bin/sh¡± ×Ö·û´®µÄµØÖ··ÅÈëµ½ R0 ¼Ä´æÆ÷ÖУ¬ÕâÀï gadgets1 Ê×ÏȽ«Õ»ÉÏ ¡°/bin/sh¡± µÄµØÖ·´«Èëµ½R4¼Ä´æÆ÷ÖУ¬ÓÉÓÚÔÚ gadgets2 ÖÐ R0=R4+6 £¬Òò´ËÕâ¸öʱºòÐèÒª0xb6f91944 ¼õ 6 £¬È»ºóÔÚPC¼Ä´æÆ÷ÖзÅÈë gadgets £¬ÔÚÖ´ÐÐ gadgets2 µÄ¹ý³ÌÖУ¬»á°Ñ¡°/bin/sh¡± ÕýÈ·µÄµØÖ·´«Èëµ½ R0£¬È»ºóÊäÈë padding(¡°DDDD¡± ) ´«Èëµ½ R4 , ÔÙÖ´ÐÐsystem º¯Êý´Ó¶ø»ñÈ¡shell ¡£

ÕâÀïÔÚ¹¹ÔìµÄ payload µÄʱºò£¬ÐèҪעÒâ´óС¶ËµÄÎÊÌ⣬ÕâÀïÎļþÊÇС¶ËµÄ£¬ÔÚС¶Ë×Ö½ÚÐòÖУ¬×îµÍÓÐЧ×Ö½Ú´æ´¢ÔÚ×îµÍµØÖ·¡£

AAAABBBBCCCCDDDD\x88\x30\xea\xb6\x3e\ x19 \ xf9 \ xb6 \ x84 \ x30 \ xea \ xb6DDDD \ x54 \ xb1 \ xea \ xb6

½«¹¹ÔìµÄpayload ·¢Ë͹ýÈ¥

r `printf "AAAABBBBCCCCDDDD\x88\x30\ xea \ xb6 \ x3e \ x19 \ xf9 \ xb6 \ x84 \ x30 \ xea\ xb6DDDD \ x54 \ xb1 \ xea\ xb6"`

¿ÉÒÔ¿´µ½Õ»Éϳɹ¦¸²¸Çµ½ÎÒÃǹ¹ÔìµÄpayload

¼ÌÐøÍùÏÂÖ´ÐоͿÉÒÔÄõ½shell

06 ×Ü ½á

Ret2ZP ¼¼Êõ£¬ºÍRet2libµÄÔ­ÀíÏà²î²»´ó£¬µ«ÊÇÓÉÓÚARM´¦ÀíÆ÷µÄÌØÐÔ£¬º¯ÊýÖ´ÐеĹý³ÌÖУ¬ÐèÒª´ÓR0~R3¼Ä´æÆ÷ÖлñÈ¡²ÎÊý£¬Òò´ËÔÚ¹¹ÔìROPµÄʱºò£¬ÐèÒª¶à¿¼ÂÇÒ»µãÊǽ«º¯Êý²ÎÊýµÄÖµ´«Èëµ½R0~R3 ¼Ä´æÆ÷ÖС£

 
   
1611 ´Îä¯ÀÀ       27
 
Ïà¹ØÎÄÕÂ

ÔÆ¼ÆËãµÄ¼Ü¹¹
¶ÔÔÆ¼ÆËã·þÎñÄ£ÐÍ
ÔÆ¼ÆËãºËÐļ¼ÊõÆÊÎö
Á˽âÔÆ¼ÆËãµÄ©¶´
 
Ïà¹ØÎĵµ

ÔÆ¼ÆËã¼ò½é
ÔÆ¼ÆËã¼ò½éÓëÔÆ°²È«
ÏÂÒ»´úÍøÂç¼ÆËã--ÔÆ¼ÆËã
ÈídzÎöÔÆ¼ÆËã
 
Ïà¹Ø¿Î³Ì

ÔÆ¼ÆËãÔ­ÀíÓëÓ¦ÓÃ
ÔÆ¼ÆËãÓ¦ÓÃÓ뿪·¢
CMMIÌåϵÓëʵ¼ù
»ùÓÚCMMI±ê×¼µÄÈí¼þÖÊÁ¿±£Ö¤
×îл¼Æ»®
DeepSeekÔÚÈí¼þ²âÊÔÓ¦ÓÃʵ¼ù 4-12[ÔÚÏß]
DeepSeek´óÄ£ÐÍÓ¦Óÿª·¢Êµ¼ù 4-19[ÔÚÏß]
UAF¼Ü¹¹ÌåϵÓëʵ¼ù 4-11[±±¾©]
AIÖÇÄÜ»¯Èí¼þ²âÊÔ·½·¨Óëʵ¼ù 5-23[ÉϺ£]
»ùÓÚ UML ºÍEA½øÐзÖÎöÉè¼Æ 4-26[±±¾©]
ÒµÎñ¼Ü¹¹Éè¼ÆÓ뽨ģ 4-18[±±¾©]
 
×îÐÂÎÄÕÂ
»ùÓÚFPGAµÄÒì¹¹¼ÆËãÔÚ¶àýÌåÖеÄÓ¦ÓÃ
ÉîÈëLinuxÄں˼ܹ¹¡ª¡ª¼ò½éÓë¸ÅÊö
LinuxÄÚºËϵͳ¼Ü¹¹½éÉÜ
dzÎöǶÈëʽCÓÅ»¯¼¼ÇÉ
½ø³Ì¼äͨÐÅ£¨IPC£©½éÉÜ
×îпγÌ
ǶÈëʽLinuxÇý¶¯¿ª·¢
´úÂëÕû½àÖ®µÀ-̬¶È¡¢¼¼ÒÕÓëϰ¹ß
ǶÈëʽÈí¼þ²âÊÔ
ǶÈëʽC¸ßÖÊÁ¿±à³Ì
ǶÈëʽÈí¼þ¿É¿¿ÐÔÉè¼Æ
³É¹¦°¸Àý
ij¾ü¹¤Ëù ǶÈëʽÈí¼þ¼Ü¹¹
Öк½¹¤ÒµÄ³Ñо¿Ëù ǶÈëʽÈí¼þ¿ª·¢Ö¸ÄÏ
ij¹ìµÀ½»Í¨ ǶÈëʽÈí¼þ¸ß¼¶Éè¼ÆÊµ¼ù
ÉîÛÚ Ç¶ÈëʽÈí¼þ¼Ü¹¹Éè¼Æ¡ª¸ß¼¶Êµ¼ù
ijÆóÒµ »ùÓÚIPDµÄǶÈëʽÈí¼þ¿ª·¢