728x90

이 문제도 blind sql injection문제이다. 이것을 쉽게 풀기위해서는 %를 이용하는 것이다. like 'abc%'는 abc로 시작되는 모든값을 찾아내고 like '%abc'는 abc로 끝나는 모든값을 찾아내고 like '%abc%'는 abc가 들어있는 모든값을 찾아낸다. 그래서 일단 그냥 pw=%를 해보자.

 

 

Hello guest가 출력되는것으로 봐서 guest와 admin의 pw중 겹치는 부분이 있다. 그럼 코딩을 한번해보자.

 

 

pw가 나왔다. 그럼 ?pw=832edd10을 쳐보자.

 

 

역시 풀렸다. 앞선 blind sql injection에 비해서는 쉬운 문제였다.

 

728x90

shit의 길이가 1을 넘으면 안된다. 즉, 무조건 1이여야 한다는 것이다. 그리고 필터링 안되있는 것을 넣어줘야된다. 보면 %20, %0a, %0d, %09가 필터링 되어있다. 그러면 그냥 %0b를 써주면 될것같다. 그럼 쿼리는 ?shit=%0b이다. 넣어보자.

 

 

역시 풀렸다. 간단한 문제였다.

728x90

아까전 문제를 보고 필터링이 많다고 했으면 안됬다. 이번건 더 많아졌다. usbstr, ascii, or, and, like, 0x, 공백등 이 필터링되고있다. or의 필터로 ord도 사용할수없다. 이것도 어짜피 pw의 길이는 0일테지만 일단 그것도 구해야된다. 이제 필터링이 많아져서 손으로 넣기 귀찮아졌다. 한꺼번에 코딩해보자.

 

 

일단 저렇게 나왔다. 그럼 또 ?pw=735c2773을 쳐보자.

 

 

풀렸다. 필터링이 너무 많아서 조금 복잡했지만 다 대체할것들이 있어서 그렇게 어렵지는 않았다.

+ Recent posts