Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- wargame.kr
- suninatas
- reversing
- WTF_CODE
- WarGame
- CheatEngine Tutorial
- Web
- CodeEngn
- 워게임
- 오토잇디컴파일
- 워게임풀이
- BasicRCE
- 6번문제
- 치트엔진
- Couldn't invoke the file
- xcz.kr 문제풀이
- 써니나타스
- Couldn't in
- 치트엔진 튜토리얼
- 3번문제
- 1번문제
- 시스템
- cheatengine
- xcz.kr prob
- 리버싱
- Basic RCE
- 포렌식
- 8번문제
- 치트엔진 튜토리얼 게임
- xcz.kr
Archives
- Today
- Total
HackChang
[Wargame.kr] 7번 문제 풀이 strcmp 본문
이번 문제는 strcmp 함수에 대한 우회를 하는 문제로 보인다.
Start를 눌러 페이지로 이동해보도록 하겠다.
다음과 같은 페이지로 이동했고, view-source를 눌러 소스를 보도록 하겠다.
php소스를 보면 우리가 입력한 password와 변수로 저장된 password가 일치하면 Flag값이 나오는 것으로 보인다.
php의 strcmp 함수는 두 비교대상이 같을 때 0을 반환하므로, 0을 반환하는 방법을 통해 우회를 할 수 있을 것이라고 생각했다.
구글에서 검색을 통해 특정 버전의 php에서는 배열값과 비교를 하면 NULL값을 반환하는 것을 알게 되었고,
구글 검색을 통해 PHP 자료형 비교표를 볼 수 있었다.
$password에 대해 배열로 인식하게 하면 NULL값과 0을 느슨한 비교를 통해 0을 반환하는 것을 아래의 표를 통해 알 수 있다.
이를 통해 ==0이 아닌 ===0으로 비교를 할 경우 이번 문제에 대한 대응이 가능할 것이라고 생각했다.
해당 password에 대한 이름을 password[]으로 하고, password에 아무 값이나 입력하고 인증을 해봤다.
FLAG값을 확인할 수 있었고, 인증을 통해 클리어를 했다.
'W4RG4M3 > W3B' 카테고리의 다른 글
[Wargame.kr] 8번 문제 풀이 md5 password (0) | 2021.08.07 |
---|---|
[Wargame.kr] 6번 문제 풀이 fly me to the moon (0) | 2021.07.25 |
[Wargame.kr] 4번 문제 풀이 login filtering (0) | 2021.07.23 |
[Wargame.kr] 3번 문제 풀이 QR Code Puzzle (0) | 2021.07.23 |
[Wargame.kr] 2번 문제 풀이 already got (0) | 2021.07.23 |
Comments