Hacking/Web.

error based sql injection

2017. 2. 8. 01:07

error based sql injection

- H3X0R, s1ipper 팀 소속 윤석찬(ch4n3) -


와ㄷㄷㄷㄷ...



error based sqli에서 if 문 없이도 사용할 수 있었습니다.... ㅇㄱㄹㅇ 콜롬버스급 발견 ㅇㅈ? ㅇ ㅇㅈ



mysql> select 1 || (select 1 union select 2);

+--------------------------------+

| 1 || (select 1 union select 2) |

+--------------------------------+

|                              1 |

+--------------------------------+

1 row in set (0.01 sec)




mysql> select 0 || (select 1 union select 2);
ERROR 1242 (21000): Subquery returns more than 1 row



아직은 이유는 정확히 모르겠는데 앞의 조건이 참이 된다면 뒤의 조건에서 OR 연산은 어떤 값이 와도 결과는 참이니까 아예 연산을 안하게 되는 것 같다. 


여러 고수 분들의 말을 들어보니까 MYSQL 에서는 연산의 효율성을 위해서 위와 같은 OR 연산을 진행하는 것같다. 

다들 아는 사실이었는데 나만 모르고 있었다니, 평소에 공부 좀 더 해야겠다


'Hacking > Web.' 카테고리의 다른 글

XSS??  (0) 2017.02.16
error based sql injection  (0) 2017.02.12
sqli tips  (0) 2017.02.08
sqli시 공백우회  (0) 2017.02.02
mysql error based sql injection  (0) 2017.01.25