본문 바로가기

Wargame(hacking)/webhacking.kr

Webhacking.kr : old-18

< 해결 과정 >

 

그림 1

 

그림1 에서 볼 수 있듯이 sql 문이나, 공백과 관련된 문자들이 필터링 되고 있다. %20이나+도 필터링이 된다.  그래서 아래와 같은 injection 코드는 필터링 되어 no hack 문구가 보여진다. 

 

?no=%27%27or%20id=%27admin%27--

 

그림 2

그림2 는 injection에 성공한 것을 볼 수 있는데, 사용된 코드는 아래와 같다. 

 

no=%27%27or%0aid=%27admin%27--

 

주어진 PHP 코드를 자세히 보아야 하며, 특히 쿼리문자(%27)을 몇개 사용해야 하는지 주의해야 할 것 같다. 필자는 공백문자의 필터링을 %0a로 우회하였다. ( %0a는 url 상에서 사용이 되는 우회 기법이다. )

 

 

한줄 평: php 코드 좀.. 꼼꼼하게 보자