wargame.kr 11번 strcmp 라는 문제다.

점수는 한단계 오른 550point!

흠... 보아하니 strcmp 함수의 취약점을 가지고 우회를 하란소리인거 같다. 시작해보자.


소스부터 확인해보자.

if (strcmp($_POST['password'], $password) == 0)

이 부분이 핵심 소스 인 것 같다.

이 부분이 성립하게 하려면  입력받은 password 값이 더미 파일로 랜덤하게 돌린 md5, sha1 방식의 암호화를 거친 값과 같아야하는데 sleep 함수로 brute force 공격까지 막고 있고 또 그렇게 풀라고 하는 문제인 것 같지도 않다.

뭔가 strcmp 함수자체에 취약점이 있을 것 같다. php strcmp 취약점으로 구글링을 해보았다.

lucky!! 역시나 php 5.3버전에서 함수의 인자값으로 배열을 주게되면 리턴 값이 0이 되어 두 값이 동일

때와 같아져 비밀번호를 몰라도 우회가 가능하게 된다.


그러면 입력 값을 배열값으로 바꿔 넘기면 자연스럽게 클리어가 될 것 같은 느낌이 든다.

burp suite를 켜서 한번 시도해보자.

맨 밑에 password 값을 넘길때 변수를 배열로 바꿔 배열값으로 넘겼다.


성공! 점수가 올라서 살짝 긴장했는데 비교적 간단했던 문제였다.


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

wargame.kr tmitter  (0) 2018.01.04
wargame.kr type confusion  (0) 2018.01.04
wargame.kr EASY_Crackme  (0) 2018.01.04
wargame.kr md5 password  (0) 2018.01.04
wargame.kr md5_compare  (0) 2018.01.04
블로그 이미지

JeonYoungSin

메모 기록용 공간

,