물먹는산세베리아

collision 문제 본문

Waregame & CTF/Pwnable

collision 문제

suntall 2021. 5. 5. 23:58

먼저 col, col.c, flag 파일 이렇게 3개가 존재하는 걸 확인했다.

flag를 실행시켰지만 접근이 거부되었고, 그 파일은 사용자가 col_pwn일 때만 열 수 있는 걸 확인했다.

 

그리고, col 파일을 보면 setuid로 인해 접근이 가능한 걸 알 수 있었다.

 

그러면 col 파일을 해결해야 된다는 얘기이므로 col.c 파일을 열어보았다. (vi 명령어)

주목할 부분은 들어와야 할 값은 20byte이며 hashcode와 check_password()에서 가져오는 값이 같을 때 flag가 풀린다는 것인다.

 

check_password 함수를 보면 res에 인수로 들어온 값을 5번 붙인다는 얘기이고, 일단 hashcode는 0x21DD09EC이다. 

 

다섯번 더해준다고 했으니까 일단 주어진 해시코드를 5로 나누면 0x6C5CEC8이고, 나머지는 4이다. 따라서 0x6C5CEC8네번과, 0x06C5CECC를 더해주면 된다.

 

 

 

'Waregame & CTF > Pwnable' 카테고리의 다른 글

[dreamhack.io] basic_rop_x86  (0) 2021.05.26
ROP  (0) 2021.05.26
[dreamhack.io] basic_exploitation_001  (0) 2021.05.19
[pwnable.kr] bof  (0) 2021.05.19