일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- document
- 파이썬
- suninatas 풀이
- jQuery
- 백준 파이썬
- github
- 자바스크립트
- xss game
- Pwndbg
- 김성엽 대표님
- 배열
- object
- 조건문
- property
- blind sql injection
- burp suite
- 객체
- 함수
- 백준 알고리즘
- xss game 풀이
- python
- sql injection
- element 조회
- lord of sql injection
- 메소드
- window
- htmlspecialchars
- 사칙연산
- IF문
- 포인터
Archives
- Today
- Total
power-girl0-0
strcmp 본문
728x90
http://www.wargame.kr/challenge
문제
문제 설명에 'strcmp 함수를 우회하면, 플래그가 표시됩니다.' 라고 적혀있다.
문제는 아래와 같다.
view-source를 눌렀을 때, 아래와 같이 소스가 출력된다.
풀이
해당 문제는 strcmp()함수의 취약점을 이용하면 쉽게 풀 수 있는 문제이다.
strcmp함수는 문자열을 비교해주는 함수이다.
해당 함수는 비교하는 두 개의 문자열이 같으면, 0을 반환한다.
하지만, 문자열과 배열을 비교해도 0을 반환하는 취약점을 갖고 있다.
위 소스코드와 같이 strcmp함수를 통해 비교하는 변수들 중 하나만 배열로 만들면 문자가 풀릴 것으로 예상된다.
따라서, 개발자 도구를 사용하여 아래와 같이 password를 변수로 만들어준다.
위와 같이 설정 후, 아무 임의의 값이나 입력값으로 넘겨주면 flag값을 구할 수 있다.
이는 전달되는 password인 배열과 문자열이 비교되므로써, 0이 반환되기 때문이다.
문제 CLEAR!!
728x90
'War game > wargame.kr' 카테고리의 다른 글
fly me to the moon (0) | 2021.02.08 |
---|---|
WTF_CODE (0) | 2021.02.03 |
login filtering (0) | 2021.02.01 |
QR CODE PUZZLE (0) | 2021.02.01 |
flee button (0) | 2021.01.31 |
Comments