Notice
Recent Posts
Recent Comments
Link
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
Archives
Today
Total
관리 메뉴

White Security

[wargame.kr] strcmp 문제풀이 본문

Wargame Writeups/wargame.kr

[wargame.kr] strcmp 문제풀이

POSIX 2019. 1. 22. 07:36

wargame.kr 사이트의 아홉번째 문제입니다.


본 문제는 간단하기 때문에 본문을 보기보다는

php strcmp 취약점에 대해 탐색해보고 직접 푸는 편이 유익할 것이라 생각됩니다.



만약 strcmp 함수를 우회하면 플래그를 얻을 수 있어요



링크에 접속하니 위와 같은 단일 입력 폼과

php 소스링크를 확인 할 수 있었습니다.


먼저, 하단의 링크를 통해 소스를 확인해 보겠습니다.



브루트포스를 방지하기 위해 sleep함수를 끼워넣었고


password 변수와 사용자 입력 변수를 인자로

문제에서 언급했던 strcmp 함수를 수행하여

0을 반환한 경우 플래그를 출력하도록 했군요. 



strcmp에서 0을 반환시키려면 두 인자의 값이 같아야만 합니다.

그런데 password 변수값은 알 방법이 없지요.


사실 strcmp는, 한쪽에 문자열이 아닌 배열이 올 경우에도 0을 반환합니다.



따라서 프록시 툴을 통해

password= 부분을 password[]=로 바꿔 넣었습니다. 



Flag를 얻는 데에 성공했습니다.


Comments