SQL Injection문제이다. 

# / union / from / challenge / select / ( / 수평 탭 / "/" / limit / = / 0x <<--모두 필터링 된다. 

쿼리문에 no=($_GET[no]) <<== 처럼 괄호로 묶어있기 때문에 sql injection을 할때 괄호를 안 맞춰서 에러가 나는 일은 없게 해야한다.

또한 =이 필터링 되기 때문에 = 대신에 like 와 같은 문법을 사용한다.

그리고  #이 필터링 되기 때문에 " -- " < 이와같은 방식을 이용해서 뒷 부분을 주석처리 해준다.


guest의 no는 1 이었고, admin의 no는 1과 가까울 것이라고 생각했다.


url창에 no=0%29%20or%20no%20like%202%20--%20을 입력해서 풀거나 


입력창에 0) or no like 2 -- 를 직접 입력해 푼다.




select id from challenge27_table where id='guest' and no=(0) or no like 2 -- (주석처리) )  <<-- 가 될 것이다.

'Web Hacking > Webhacking.kr' 카테고리의 다른 글

Webhacking.kr 16번  (0) 2018.04.12
Webhacking.kr 26번  (0) 2018.04.12
Webhacking.kr 47번  (0) 2018.04.11
Webhacking.kr 25번  (0) 2018.04.11
Webhacking.kr 18번  (0) 2018.04.11

+ Recent posts