티스토리 뷰
speedrun-003.quals2019.oooverflow.io 31337
풀이
speedrun-003은 x86-64 파일임
get_that_shellcode() 함수에서 buf에 입력을 받아 조건 2개를 만족하면 shellcode_it()를 호출함
-
입력값의 길이가 30
-
입력한 값의 앞 15bytes를 xor한 값과 뒤 15bytes를 xor한 값이 같아야함
-
-
buf에 입력한 값은 rbp-0x30에 위치하는데 v4는 rbp-0x21에 위치한다
-
즉 buf로 30만큼 입력하면 v4까지 채워짐
-
xor() 함수 루틴은 아래와 같다.
-
v3 = a1[0]^a1[1]^a1[2]^……..^a1[13]^a1[14]
-
return v3
shellcode_it() 함수는 mmap()으로 메모리를 할당하고 memcpy()로 입력한 값을 옮긴다음 mmap()으로 쉘코드를 실행한다.
'해답 > '3'' 카테고리의 다른 글
test (0) | 2023.07.26 |
---|---|
[WEB][facebookCTF2019] products manager (0) | 2019.10.28 |
[WEB][SecurityFest2018] Screensavers (0) | 2019.10.28 |
[WEB][hack.lu CTF 2019] RPDG (0) | 2019.10.28 |
[web][PoX 본선]Power of XX (0) | 2017.11.21 |
댓글