[Lord of SQL Injection] Bugbear 풀이
2016. 11. 8. 02:56
Lord of SQL Injection (LoS) - Bugbear
Analyze
이번 문제에서는 굉장히 많은 것이 필터링되어 있다.
substr() , ascii() , ord() 함수를 사용하지 못하고 or , and , like , 0x 등의 연산자와 공백이 필터링된다. ord() 함수가 필터링되는 이유는 or이 필터링되었기 때문.
띠용??? 근데 여기서 문자를 숫자로 바꿔주는 함수가 모두 필터링되어있다. 망한 걸까.
Solution
hex() 함수를 이용해서 0x를 뺀 16진수와 비교하면 된다!
생각보다 쉬운 문제다.
mysql> select hex('a') = 61;
+---------------+
| hex('a') = 61 |
+---------------+
| 1 |
+---------------+
1 row in set (0.00 sec)
이런 원리로 비교를 할 수 있는 것이다.
'write-ups > Lord of SQL Injection' 카테고리의 다른 글
[Lord of SQL Injection] Assassin 풀이 (0) | 2016.11.08 |
---|---|
[Lord of SQL Injection] Giant 풀이 (0) | 2016.11.08 |
[Lord of SQL Injection] Darknight 풀이 (0) | 2016.11.08 |
[Lord of SQL Injection] Golem 풀이 (0) | 2016.11.08 |
[Lord of SQL Injection] Skeleton 풀이 (0) | 2016.11.08 |