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