peda 명령어 이것저것 gdb-peda$ elfsymbol readread의 plt, got 확인 gdb-peda$ vmmap메모리 주소 확인 (libc, binary 주소 등) gdb-peda$ p/x system - readsystem함수와 read함수 거리 계산 (16진수) gdb-peda$ shell lsshell 다음에 쉘명령어 gdb-peda$ ropgadgetrop 가젯 찾기 gdb-peda$ ropsearch 'pop rdi'특정 rop 가젯 찾기 pwnable 2018.07.09
pwntools로 익스 중에 디버깅 (gdb 등) io = process('./binary') gdb.attach(proc.pidof(io)[0]) context(terminal = ['xterm', 'splitw']) 하고 attach 따로 해주면 된다. bp는 따로 걸어줘야됨 gdb.attach(s,'c\n') ----------------------------------------- context.terminal=['tmux', 'splitw', '-h'] s = process('./test') gdb.attach(s) 한다음에 tmux 키고 익스 실행하면 새 창 띄워준다 창 옮기는 법 ctrl + b 떼고 o 누르면 옮겨진다 (ctrl+b+는 창 위치 바꾸기) ---------------------------- recv send 바이트 단위로 보.. pwnable 2018.06.29
socat으로 바이너리 열기 (포너블 문제낼 때) socat tcp-listen:8888,reuseaddr,fork,bind=0.0.0.0 exec:./runme #!/bin/bashwhile true;do socat TCP4-LISTEN:8888,reuseaddr,fork EXEC:/runme,stderr;done------------------------------------------setvbuf(stdout, 0LL, 2, 0LL);setvbuf(stdin, 0LL, 2, 0LL);------------------------------------------gcc에서 인라인 어셈 할 땐 att 문법을 써야한다.상수 앞에는 $, 레지스터 앞에는 %asm ("mov $1, %rax;""int $0x80;" "pop %rdi;""pop %rsi;""po.. pwnable 2018.01.08
windbg 잡것들 심볼 안 잡히면...srv 추가 후.reload -i windbg 확장모듈!exploitableexception이 발생한 상태에서 exploitable한지 알려준다- down: http://msecdbg.codeplex.com/releases/view/28935 winext 서브폴더에 복사하고 windbg 재시작- usage : > !load winext/msec.dll > !exploitable pwnable 2018.01.06