반응형
문제)
if you can bypass the strcmp function, you get the flag.
strcmp (문자열 비교 함수)를 우회하라는 문제이다.
먼저 메인 페이지에 접속해보았다.
password를 입력하는 창과 Source Code를 제공하고 있다. Source Code를 보면,
password는 md5로 random한 값을 생성하고 그 값에 sha1 암호화방식까지 사용되어
brute force로는 불가능하다. 문제에서 strcmp 함수를 우회하라고 했으니,
brup suite을 사용하기로 하였다.
테스트로 '123' 을 넣어 보았는데 당연하게도 (Wrong password..) 실패했다.
하지만 페이지에서 제공한 Source Code에서 이 페이지가 php 언어로 만들어졌음을 알았다.
php에는 널리 알려진 strcmp 취약점 중 하나가 있는데
php strcmp함수에는 $a값에 문자열이나 숫자열이 아닌 배열을 인자로 넣으면
반환 값을 비교 값이 같은 0으로 출력하는 취약점이 있다.
결국 반환값은 0이 되어, 언제나 True가 된다. 이 점을 이용하였다.
반응형