[webhacking.kr] Challenge 27 - SQL Injection (like)
by jennysgap[webhacking.kr] Challenge 27 - SQL Injection (like)
SQL injection 문제다.
소스코드를 살펴보니 index.phps 가 주석처리 되어있다.
index.phps를 살펴보자
#, union, from, challenge, select, \(, \t, /, limit, =, 0x 가 필터링 걸려있다.
select id from challenge27_table where id='guest' and no=($_GET[no])
일단 no=1이 guest인 것을 확인했다.
아마도? no=2가 admin 일 것이다.
id='guest'를 우회하려면 or 를 이용하여 "0 or " 을 이용한다.
select id from challenge27_table where id='guest' and (no=0) or no like 2 --
admin을 입력하든가. no=2를 입력해야 하는데 '=' 필터링 설정되어있기 때문에 이것 또한 우회해야 한다.
like 조건은 ~와 같은 이란 뜻을 가지므로 = 대신 이용할 수 있다
ex) no like 0이라고 한다면 0과 같은 no 값이다.
0 or no like 2
안됨.... 쿼리 에러
1) 뒤에 코드가 있기 때문에 주석처리 한다.
0 or no like 2 --
안됨.... 쿼리 에러
2) 자세히 보니 no변수 앞뒤로 ()괄호가 있다.
0) or no like 2 --
안됨.... 쿼리 에러
3) 모르겠다.... 왜일까? 인터넷 찾아보니 주석 뒤에 공백을 넣으라고 한다.
성공...
여기서 주의할 점은 -- 주석 앞뒤로 공백이 있어야 한다는 것이다!
'BOX' 카테고리의 다른 글
[webhacking.kr] Challenge 33 - Ten Question 1 (0) | 2019.06.20 |
---|---|
[webhacking.kr] Challenge 32 - Cookie (0) | 2019.06.20 |
[webhacking.kr] Challenge 26 - URL Encode (0) | 2019.06.20 |
[webhacking.kr] Challenge 25 - LFI (Local File Inclusion) 취약점 (0) | 2019.06.20 |
[webhacking.kr] Challenge 24 - Cookie (0) | 2019.06.20 |
블로그의 정보
jennysgap
jennysgap