전체 글 173

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

PHP 설치 각종 설정

php 레포추가sudo add-apt-repository ppa:ondrej/php 설치 후 엔진이 꺼져있을 때apt-get install libapache2-mod-php 혹은 apt-get install libapache2-mod-php7.0 현재 PHP 7.2을 사용중인데 PHP 5.6으로 디폴트 버전을 변경sudo a2dismod php7.2 ; sudo a2enmod php5.6 ; sudo service apache2 restartsudo update-alternatives --set php /usr/bin/php5.6 현재 PHP 5.6을 사용중인데 PHP 7.2로 디폴트 버전을 변경sudo a2dismod php5.6 ; sudo a2enmod php7.2 ; sudo service apa..

웹/PHP 2018.03.20

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