문제 페이지는 다음과 같다.
소스를 보고 무슨 문제인지 알아보자.
PHP에서, strcmp 함수에 배열을 파라미터로 넘겨주면 오류와 함께 NULL로 반환한다.
(참고: http://hackability.kr/entry/PHP-strcmp-%EC%B7%A8%EC%95%BD%EC%A0%90%EC%9D%84-%EC%9D%B4%EC%9A%A9%ED%95%9C-%EC%9D%B8%EC%A6%9D-%EC%9A%B0%ED%9A%8C)
또한, PHP에서 ==을 사용한 느슨한 비교를 했을 때, NULL==0이 참이 되는 것을 이용해 조건문을 참으로 만들어 줄 수 있다.
FLAG를 얻을 수 있었다. 현재 PHP 7에서도 안전한지는 자세히 모르지만 가능하면 ===를 사용해 강한 비교를 하자.
'Wargame > wargame.kr' 카테고리의 다른 글
9. md5 password (0) | 2018.07.19 |
---|---|
8. md5_compare (0) | 2018.07.19 |
7. fly me to the moon (0) | 2018.07.19 |
6. DB is really GOOD (0) | 2018.07.19 |
5. WTF_CODE (0) | 2018.07.18 |