티스토리 뷰

해답/'3'

[Defcon2019] speedrun-003

m3rg3ry 2019. 10. 28. 17:53

 

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
댓글
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31