딩굴댕굴

[webhacking.kr] Challenge 27 - SQL Injection (like)

by jennysgap

BOX


[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) 모르겠다.... 왜일까? 인터넷 찾아보니 주석 뒤에 공백을 넣으라고 한다.



성공...

여기서 주의할 점은 -- 주석 앞뒤로 공백이 있어야 한다는 것이다!











반응형

블로그의 정보

jennysgap

jennysgap

활동하기