0x07 CTF(37)
-
defcon2015 r0pbaby 풀고 알게 된 것들
느낀점 : ROP 어렵다 . 아직까지 오프셋 계산 왔다 갔다 하는게 적응이 되지 않는다. 알게 된 것 : pop rdi ; ret ; (system함수의 인자는 rdi) libc 주소를 보는 법 : pwngdb 실행 후 ctrl+c로 인터럽트 걸고, vmmap 이용해서 살펴 봄 system 함수 주소 보는 법 : pwngdb 실행 후 p system 여기서 나온 주소와 libc 주소를 이용하여 system함수의 offset값을 구할 수 있음libc base addr - system_offset = system addr 여기에서 s는 sfp, r은 ret인 것을 알게됨 libc.so.6 찾는 방법 find / -name libc.so.6 2>/dev/null rp++ 를 사용하는 방법에 대해 알게 됨 : ..
2018.04.08 -
DEPCAMP r100
Angr 공부용으로 풀어보았다. 바이너리 : 메인함수이다.패스워드를 입력하고 옳고 그름을 판단하는 전형적인 문제다. 심플해보이지만, 계산하기 귀찮게 되어 있는 연산이다. 이 연산을 한방에 해결하는 녀석이 angr라고 한다. 진심으로 오늘 처음 사용하고 충격받았다.import angr def main():p = angr.Project("r100", load_options={'auto_load_libs': False}) // 실행시킬 바이너리 명 # 내가 찾는 주소가 0x400844 (Nice!)# 피하려는 주소가 0x400855 (Incorrect Password!)ex = p.surveyors.Explorer(find=(0x400844, ), avoid=(0x400855,))ex.run() // 실행re..
2018.04.02 -
swamp CTF return
보호되어 있는 글입니다.
2018.04.01 -
swamp CTF journey
보호되어 있는 글입니다.
2018.04.01 -
swamp CTF adventure
보호되어 있는 글입니다.
2018.04.01 -
0x00CTF C#문제
보호되어 있는 글입니다.
2017.12.30