Cookie 문제

쿠키 관련 문제인 것 같다.

value 값이 base64 encoding 되있는거 같아서 decode 시켰다.
(디코딩을 세번하니 아래와 같이 값이 나왔다.)
{"id":"2","type":"guest"}
위 값을 {"id":"1","type":"admin"} 로 변경한 뒤,
똑같이 세 번 인코딩시켜 쿠키에 넣어보면 아래와 같이 페이지가 뜬다.

admin의 패스워드 값을 맞춰야하는 것 같다.

마침 쿠키값에 PassAdmin 이라는 쿠키가 존재했다.
문제는 패스워드를 모른다는 것인데, 이는 strcmp 취약점을 이용해 풀 수 있었다.
Strcmp 취약점이란?
strcmp에서 문자열과 배열을 비교시 NULL을 반환하는 취약점
-> NULL == 0 으로 느슨한 비교를 할 때 True가 반환된다.

따라서 PassAdmin 부분을 PassAdmin[] 즉, 배열로 바꾸어줌으로써
strcmp 비교 시 null을 반환하고, null == 0 으로 인해 true가 반환될 것이다.

'Wargame > HackCTF' 카테고리의 다른 글
| [HackCTF] Web (가위바위보) (0) | 2021.11.29 |
|---|---|
| [HackCTF] Web (LoL) (0) | 2021.11.25 |
| [HackCTF] Web (Home) (0) | 2021.11.25 |
| [HackCTF] Web (Input Check) (0) | 2021.11.25 |
| [HackCTF] Web (Time) (0) | 2021.11.25 |