-
strcmpHacking/Wargame.kr 2018. 3. 11. 22:02
이번문제는 strcmp이다
제목이 제목인 만큼 제목에 취약점이 있다는것이 힌트같았다.
해당 취약점을 검색하기 전에 source를 주어주었다.
source를 보니 password와 $password값을 비교해서 0 즉 같으면 flag값을 준다는 것을 알 수 있었다.
php5.3버전에서의 strcmp취약점은 비교대상 둘중 하나가 array에 들어가면 내부적으로 충돌이 발생해 null을 리턴하게되는데
이때 null과 0을 비교하면 같다고 본다는 점이 취약점이다.
위의 그림은 ==와 === 비교를 나타낸 표이다.
표시된 부분을 보면 NULL과 0은 TRUE로 반환하는 부분이 보여진다.
===일때는 FALSE이다. (===를 사용하자!)
이를 이용해서 둘중하나를 array로 만들면 된다는걸 알 수 있었다.
버프수트를 사용하던지 관리자모드를 사용해서 일단은 값을 아무거나 넣어보았다
password 부분이 보였다.
이부분을 password[]로 수정해준뒤 진행하였다.
Flag값이 나왔다. (일부러 flag값을 다나오지 않게하였다)
반응형'Hacking > Wargame.kr' 카테고리의 다른 글
WTF CODE (0) 2018.03.11 login filtering (0) 2018.03.11 md5_compare (0) 2018.03.11 img recovery (0) 2018.03.11 fly me to the moon (0) 2018.03.11 댓글