본문 바로가기

웹해킹/webhacking.kr

webhacking.kr old 07번 문제풀이(Writeup)

반응형

webhacking.kr old 07번 문제풀이(Writeup)

 

old 07번 문제풀이 1

문제를 들어가면 위와 같이 출력된다. 

 

 

 

old 07번 문제풀이 2

코드를 확인했다. 가장 눈에 띄는 건 preg_match를 통해 몇 가지 문자가 필터링되고 있다. 그리고 mysql_query문이 나와있고 마지막 elseif로 가면 문제가 해결된다.

결론은 go 자리에 2를 넣어주면 해결될 것으로 보이는데, 2는 필터링되고 있고 +, -, * 도 필터링되기에 다른 방법으로 넣어줘야 할 것으로 보인다.

 

 

old 07번 문제풀이 3

먼저 이것저것 실험을 했다. 괄호가 필터링이 안되고 char, ascii 등이 안되는 걸 보니 아스키코드로 2를 전달해도 좋을 것 같다. 그래서 union을 통해 var=0인 것과 2인 것을 함께 입력해보았다.

 

 

 

select lv from chall7 where lv=($go)

 

select lv from chall7 where lv=(0)union(select(char(50)))

0을 먼저 주고 다음 union명령을 통해 ascii코드로 2를 넘겨준다.

 

 

old 07번 문제풀이 4

필자는 랜덤 경우 중 괄호가 하나일 때를 대상으로 했기에 랜덤에 걸릴 때까지 새로고침을 했고 해결하였다.

 

 

 

 

 

 

 

 

 

 

728x90