전체 글 292

[pwnable.kr] Toddler's Bottle - input

[pwnable.kr] Toddler’s Bottle - input 1 2 3 4 5 6 #argvs = range(100) argvs = [str(i) for i in range(100)] argvs[ord('A')] = "\x00" argvs[ord('B')] = "\x20\x0a\x0d" s = process(executable='/home/input2/input', argv=argvs) cs 처음에는 range(100)로 만들었는데, process 함수에서 오류가 나서 전체가 다 문자로 이루어진 리스트를 만들었습니다. 그리고 process에서 executable에 공격할 파일 경로를 주고, argv에 넣을 인자 리스트를 줍니다. Stage 1 clear! code: 1 2 3 4 5 6 7 8 9..

[Pico CTF 2013] overflow5

[PicoCTF-2013] overflow5 이번에는 NX가 걸려있어서 셸코드를 올려서 실행하는 건 힘들 것 같습니다. vuln 함수입니다.v2의 시작 주소는 ebp-0x40c이고, strcpy 함수의 BOF 취약점으로 인해 return address까지 변조할 수 있습니다. esp+0x420가 첫 번째 파라미터이니, esp+0x41c가 return address입니다.esp+0x10이 buf의 시작주소이기 때문에, buf의 시작 주소와 return address의 거리는 0x40c(1036)입니다. 실제로 확인해보겠습니다. 이렇게 return address를 변조할 수 있다는 것을 확인했습니다. RTL을 이용해서 system 함수를 호출해서 인자에 “/bin/sh”를 넣어주도록 하겠습니다. 하지만 “/..

System&Write up/CTF 2018.01.18
반응형