본문 바로가기
Web/Lord of SQL Injection

Lord of SQL Injection 3단계 (goblin)

by jh117jh 2023. 3. 8.
728x90

이번에 처지할 몬스터는 goblin!

그나마 이게 젤 귀엽게 생겼다...

 

코오드를~ 봐아볼까아~

이번 문제는 싱글쿼터('), 더블쿼터(")가 필터링된 것을 알 수 있다.

id=admin이 되어야 되는데 id값이 guest로 고정되어 있는 것을 알 수 있다.

 

처음에는 id값을 바꿔보려 시도를 했는데 아무리 해도 바꾸는 법을 찾지 못했다.

생각해 보니 id와 no 값이 and로 연결되어 있으니까 no값이 거짓(False)이 되면 id = guest도 거짓으로 출력될 것이다.

no = 2를 넣었는데 Hello guest가 출력 안되는 거 보니 no값이 2는 아닌 것을 알 수 있고

그러면 뒤에 or id='admin'을 넣어 id='admin'부분을 참으로 만들어 주면 되는데

싱글쿼터(')가 필터링되어 있으므로 url인코딩을 이용하여 %27로 시도해 봤다.

짜잔~ 어림도 없다

url인코딩을 이용한 필터링 우회가 안되므로....

admin을 문자열로 만들 다른 방법을 찾아야 되는데.....

 

싱글쿼터 우회 방법을 찾아보니 char() 함수를 이용하는 방법과 0x를 아용해 16진법으로 admin을 입력하는 방법이 있다.

 

나는 0x를 이용해 보기로 ㅎ

 

admin을 16진수로 바꾸면 61646d696e 이므로? no=2 or id=0x61646d696e 을 입력하게 되면

굿굿!

 

다음 몬스터 잡으러 가자~!

728x90