WAS와 DB는 서로 신뢰 관계 → 악의적 입력에 의해 변조된 질의를 검증하지 않아 문제
첫 글을 적고 선택 시 ?page=view&idx=1
⇒ idx=100-99
해도 연산이 이루어져서 idx=1
로 인식됨 ⇒ 산술, 연산이 가능한 것을 판별하여 취약점 판별 가능!!
$query = “select * from board where idx ={$idx}”;
String query = “select * from board where idx =” + idx + “; (자바)
⇒ select * from board where idx= 4-3 에서 1=1이 이루어짐 (취약)
사용자 입력(파라미터) - 문자형
: 연결 연산자 사용
⇒ 연결 연결자를 인식하고 연결 ⇒ 아! MySQL이구나 !
‘%test%’ and ‘%’=’%’ 으로 filter ⇒ test가 그대로 검색 o %을 쓰는 이유는 MySQL 이기 때문.
Terminating 방식 (자른다!) mysql 의 주석 : # ⇒ ‘%test%’ and 1=1# ⇒ test 그대로 검색 o