들어가자마자 쿠키가 반겨준다.. 쿠키와 관련이 있는 문제 같으니 바로 확인해보자.

 

쿠키 값으로 'WlhsS2NGcERTVFpKYWtscFRFTktNR1ZZUW14SmFtOXBXak5XYkdNelVXbG1VVDA5' 확인 하였고 쿠키 값에 정보가 들어가 있을 수 있으니 디코딩을 시도.

 

3회 base64로 디코딩 해보니 id=2, guest라는 값이 들어가 있는 것을 확인할 수 있었다. 그럼 id=1, admin으로 해서 쿠키 값을 전송해 보면 flag 값을 얻을 수 있을거 같다.

 

변조 후 전송해보았지만 깨꿀맛 쿠키가 패스워드 틀림과 함께 나를 반겨준다... 

 

찾아보니 이문제는 strcmp 취약점을 이용해서 푸는 문제이다.

strcmp에서 어떤 문자열을 비교할때 배열을 넣게 되면 우회가 가능하다.(php 버전별로 상이할 수 있음)

 

 사진과 같이 PassAdmin에 배열인 []를 붙여서 보내게 되면 우회가 되서 flag 값을 얻을 수 있었다.

 

 


참조

https://lactea.kr/entry/php-strcmp%EB%A5%BC-%EC%9D%B4%EC%9A%A9%ED%95%9C-%EC%B7%A8%EC%95%BD%ED%95%9C-%EC%9D%B8%EC%A6%9D%EC%A0%88%EC%B0%A8

 

[php] - strcmp를 이용한 취약한 인증절차

strcmp 함수는 다들 알다시피 문자열을 비교하여 -1 또는 0 또는 1을 반환하는 함수이다. strcmp('a', 'b') => -1 strcmp('b', 'b') => 0 strcmp('c', 'b') => 1 만약 admin인지 아닌지를 검사하는 코드가 있다고..

lactea.kr

 

'워게임 > HackCTF' 카테고리의 다른 글

[HackCTF] Web - Auth3ntication 풀이  (0) 2021.08.21
[HackCTF] Web - LOL 풀이  (0) 2021.08.15
[HackCTF] Web - 마법봉 풀이  (0) 2021.08.08
[HackCTF] Web - Login 풀이  (0) 2021.08.06
[HackCTF] Web - Guess me 풀이  (0) 2021.08.01
복사했습니다!