일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- object
- IF문
- window
- 조건문
- 사칙연산
- element 조회
- 메소드
- 함수
- lord of sql injection
- 백준 알고리즘
- python
- 파이썬
- jQuery
- document
- 객체
- sql injection
- 백준 파이썬
- blind sql injection
- htmlspecialchars
- burp suite
- suninatas 풀이
- Pwndbg
- xss game
- 김성엽 대표님
- 배열
- xss game 풀이
- github
- 자바스크립트
- property
- 포인터
- Today
- Total
power-girl0-0
[webhacking.kr-old] 7번 본문
주소 : https://webhacking.kr/old.php
[ 풀이 ]
admin페이지가 출력되지만, auth버튼을 눌렀을 시, 아래와 같이 권한이 없다고 출력된다.
view-source를 클릭하여, 소스코드를 확인해보자.
위 코드를 보고, 아래와 같은 조건문을 발견할 수 있다.
- val라는 변수값을 GET방식으로 받아와서, go라는 변수에 저장한다.
- 2 - + from _ = \s(공백) * / 등을 필터링하고 있다.
- rand변수에 랜덤값을 받아와서, 쿼리문을 랜덤으로 실행하고 있다.
- elseif를 조건문에 적힌 것과 같이, data[0]이 2이면 Hello admin이 출력되면서 문제가 클리어된다.
즉, data[0]에 2값을 넣으면 된다.
따라서 소스코드를 살펴보면, go변수인 입력받아오는 값이 2이면 문제가 클리어 될 것으로 예상 된다.
하지만, 2를 직접적으로 넣으면 풀리지 않는다.
why??? 필터링 하고 있기 때문이다 ~_~ 따라서, 직접적으로 입력하면 아래와 같이 출력된다.
음 그렇다면, 필터링 하고 있기 때문에 1+1도 불가능이고 3-1도 불가능이다. ㄷㄷ
그래서 다른 우회 방법을 찾아야 한다.
이진수로 도전해보았다.
응 실패~_~ ㅎㅎㅎㅎㅋㅋㅋㅋㅎㅋㅎㅋ
다시 다시 다른 방법을 도전해보아야 쥐~_~
이번에는 2를 문자열로 바꾸기 위해서, char()를 사용해보았다. 2를 그냥 넣으면 걸리기 때문에 아스키코드를 넣었다.
ㅎ_ㅎ 또또 필터링에 걸려브렀다~_~
혹시, char(50)을 2로 인식하지 못하나??
union을 사용하여, 앞 쿼리문은 틀리게 하고 뒤에 쿼리문이 맞게 하기 위해, 앞 val 변수에는 1과 2를 제외한 6666이란 값을 넣어주었다.
또한, 공백을 필터링하고 있으므로 ()로 대체하여 넣어주었다. %23으로 마지막은 주석처리를 하였다.
?val=666)union(select(char(50)))%23 |
처음에는 nice try!라고 출력된다.
왜냐하면 랜덤한 값으로 인해 쿼리문이 달라지기 때문이다.
따라서 여러번 새로고침해주면 문제가 클리어된다.
( 무심코 새로고침해보다가,,,,, 캡쳐를 못했다 ㅠ_ㅠ )
두번째 풀이 방법이다.
다시 살펴보니, %기호는 필터링하고 있지 않다!!
그래서 5%3을 하면 2가 나올 것으로 예상된다.
??응 안된다 ㅎ_ㅎ 혹시, 문자로 받아들여지는 건가?? 라는 생각에 쿼리문을 사용해보았다.
?val=666)union(select(5%3))%23 |
clear!! 풀었당 ㅎ_ㅎ
'War game > webhacking.kr' 카테고리의 다른 글
[webhacking.kr-old] 9번 (0) | 2021.06.20 |
---|---|
[webhacking.kr-old] 8번 (0) | 2021.06.20 |
[webhacking.kr-old] 6번 (0) | 2021.06.19 |
[webhacking.kr-old] 5번 (0) | 2021.06.19 |
[ webhacking.kr-old ] 4번 (2) | 2021.06.19 |