독개

SQL Injection - 인증우회

by #독개#

인증우회

원리) 보통 계정이나 인증을 DB에서 확인을 할 때 다 이런식이다.


쿼리문 : SELECT * FROM 테이블 WHERE uid='A' AND uPass='1234'


이렇게 쿼리를 날리고 여기에 맞는값이 데이터베이스에 결과값의 존재여부를 확인하고 IF문에서 값이 있는지 없는지로 체크하고 통과


만약에 저쿼리문에 uid='A' AND uPass='1234' 라는 값이 없어도 이 쿼리문에서 참의 결과값이 나오게 할수가 있다.


A) SELECT * FROM 테이블 WHERE uid='A' -- AND uPass=''

B) SELECT * FROM 테이블 WHERE uid='' -- AND uPass=''

(A와B의 차이는 uid='' 값을 비워두면 uid컬럼의 최상단의 값을 가져온다. 보통 최상단 관리자임)


웹에서 필터링( ' , --, 공백, *등 못쓰게 해둠)을 해둔것에 따라 다양하게 우회법들이 존재한다.

이는 문제를 풀면서 함께 알아가보자.


블로그의 정보

독한 개발자

#독개#

활동하기