sql injection =, like 필터링
2017. 3. 26. 15:09
IN 연산자
- H3X0R, s1ipper 팀 소속 ch4n3 -
SQL Injection 문제에서 = (또는 다른 비교 연산자들)이 막혔거나, 'LIKE' 비교 연산자가 막혔다면, 우리는 IN 연산자를 사용할 수 있다.
다음과 같은 쿼리를 보자.
select * from table
where id = 'admin' or id='guest' or id='gremlin';
이 쿼리는 DB의 id값이 admin, guest, gremlin 이라는 값이면 table에서 불러오는 쿼리다.
이 쿼리는 충분히 줄일 수 있다. 이 때 사용하는 연산자가 바로 IN 이다.
select * from table where id in ('admin', 'guest', 'gremlin');
이렇게 IN 연산자를 사용할 수 있다.
만약 SQL Injection 문제에서 =, like 비교 연산자가 필터링되어 있다면, in 연산자를 사용하는 것이 가능하다.
//만약 in 연산자도 필터링 되어있으면, < > 이 두 개를 사용해서 비교해도 된다.
'Codes > MySQL' 카테고리의 다른 글
MySQL 외부 접속 허용 (0) | 2017.11.06 |
---|---|
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements (0) | 2017.10.11 |
[MySQL] BINARY (0) | 2016.11.10 |
[MySQL] euckr_bin과 euckr_korean_ci 차이점 (0) | 2016.09.03 |