주소창에 lv=1 대신에 2-1을 대입해보고 injection이 일어나는지 확인해본다.
역시나 index.phps가 주석에 쓰여져 있다. 소스코드를 확인해보면 아래와 같다.
eregi()함수를 이용해서 union, from, select, or, and, ( , ) ,limit , "," , / , by, desc, asc, cash, " " , %09 를 필터링 하는데
46번 문제와 비슷하게 lv변수는 일부러 거짓이 되게 만들고 or 문을 이용할텐데
1. 공백과 TAB: %09가 모두 필터링 되어 있지만 %0a 줄바꿈을 이용해서 공백을 만들어주고
2. or 은 ||을 이용해서 필터링을 피해준다.
3. 함수를 사용하기 위해서 ( ) 괄호가 필요한데 괄호 역시 필터링 되어있다. 그렇지만 0x 필터링은 안되어있기 때문에 id변수에 헥스값을 넣어주면
문자열로 넘어간다.
이런 방법으로 49번 문제를 클리어하면 된다.
'Web Hacking > Webhacking.kr' 카테고리의 다른 글
Webhacking.kr 46번 (0) | 2018.05.04 |
---|---|
Webhacking.kr 11번 (0) | 2018.05.03 |
Webhackin.kr 43번 (0) | 2018.04.30 |
Webhacking.kr 5번 (0) | 2018.04.30 |
Webhacking.kr 10번 (0) | 2018.04.27 |