문제 이름부터 쿠키니까 쿠키에디터로 쿠키를 까보자.
무언가로 암호화 되어있다.
대충 때려맞춰야 되는데 가장 대표적인 base64방식으로 복호화했다.
첨에 하면서도 이게 맞나?하면서 하긴 했는데 다행히도 3번 까니까 '{"id":"2","type":"guest"}'라는 문자열이 나왔다.
현재 type이 guest니까 id를 1로 type을 admin으로 바꿔준담에 쿠키를 넣어 보았는데 아무일도 일어나지 않았다.
아마 다시 basd64로 3번 인코딩해야하는 것 같다.
이제 나온 문자열인 "WlhsS2NGcERTVFpKYWtWcFRFTktNR1ZZUW14SmFtOXBXVmRTZEdGWE5HbG1VVDA5"를 쿠키에 넣었다.
패스워드가 틀렸단다.
그래서 밑에있는 PassAdmin값을 보았더니
이게 다였다.
패스워드를 찾는게 아니라 먼가의 취약점을 이용하여 우회하는 것 같다.
그래서 일단 관리자 도구로 들어가서 헤더를 보고있었는데 php로 만들어진것을 보았다.
그리고 그 밑에 보면
이렇게 PassAdmin을 보내는 것을 볼 수 있다.
가장 먼저 떠오른것은 이전 문제에서 보았던것처럼 php의 strcmp의 느슨한 비교를 통해 우회하는 것으로 PassAdmin을 배열로 바꾸는 것이였다.(strcmp(String, Array())는 NULL을 반환하게 되고 NULL == 0 은 true로 처리되어 인증을 우회할 수 있는 취약점이 있다.)
그래서 burp suite를 이용하여
이렇게 배열로 바꾸고 send하면 flag가 출력된다!!
'Hacking > HackCTF' 카테고리의 다른 글
Hackctf[Web] Authenticate (0) | 2020.12.24 |
---|---|
Hackctf [Web]가위바위보 (0) | 2020.12.22 |
Hackctf [Web]Input Check (0) | 2020.12.21 |
Hackctf [Web]Time (0) | 2020.12.21 |
Hackctf [Web]마법봉 (0) | 2020.12.21 |