일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- Mobile
- John the ripper
- K-shield Jr 10기
- 써니나타스
- K-sheild Jr
- ctf-d
- Reversing
- 디스크
- 리버싱핵심원리
- ZIP
- Android
- 파일해시생성
- 모바일프로그래밍
- 침해사고대응
- crack
- 안티디버깅
- Multimedia
- upx
- shadow
- Interceptor
- disk
- Autoware
- 케쉴주
- SW에듀서포터즈
- Frida
- 포렌식
- CodeEngn
- tar
- swing
Archives
- Today
- Total
물먹는산세베리아
collision 문제 본문
먼저 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 |