Wargame.kr

Web_500

md5_compare


이번 문제는 md5를 비교하는 문제인 것 같습니다.

그냥 단순하게 다른 값을 가지고 비교를 하라고 하네요.




문제에 접속했을 때의 화면입니다. value1과 value2를 비교하는 폼이 있네요.

view-source를 클릭하여 소스를 확인 해 보도록 하죠.


v1은 ctype_alpha함수로 알파벳만 들어와야 하며, v2는 is_numeric 함수를 사용하여 숫자만 들어와야 합니다.

하지만 세 번째 if문에서는 md5로 hash한 값이 같아야만 chk 변수가 true로 남아있을 수가 있네요.




이는 php magic hash 취약점을 이용하여 우회 할 수 있습니다.

이는 문자열이 아닌 0e로 시작되는 값을 서로 비교할때, 문자열이 아닌 float형으로 인식하게 되면서 0의 지수형을 나타내는 변수로 바뀌게 됩니다. 그래서 0=0 꼴로 인식하게 되어 true를 반환하게 됩니다.





'Wargame > Wargame.kr' 카테고리의 다른 글

[Wargame.kr] Web_550_strcmp  (0) 2016.05.18
[Wargame.kr] Web_500_md5 password  (0) 2016.05.18
[Wargame.kr] Web_500_fly me to the moon  (0) 2016.05.17
[Wargame.kr] Web_500_DB is really GOOD  (0) 2016.05.17
[Wargame.kr] Web_450_login filtering  (0) 2016.05.17

+ Recent posts