취약점 발생 원인

Untitled

WAS와 DB는 서로 신뢰 관계 → 악의적 입력에 의해 변조된 질의를 검증하지 않아 문제

[실습 2-1] 취약점 유무 판별 방법

Untitled

첫 글을 적고 선택 시 ?page=view&idx=1idx=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이 이루어짐 (취약) 

Untitled

Untitled

⇒ 연결 연결자를 인식하고 연결 ⇒ 아! MySQL이구나 !

‘%test%’ and ‘%’=’%’  으로 filter ⇒ test가 그대로 검색 o
%을 쓰는 이유는 MySQL 이기 때문.

‘%test%’ and ‘%’=’%’ 으로 filter ⇒ test가 그대로 검색 o %을 쓰는 이유는 MySQL 이기 때문.

Terminating 방식 (자른다!)
mysql 의 주석 : # ⇒  ‘%test%’ and 1=1# ⇒ test 그대로 검색 o

Terminating 방식 (자른다!) mysql 의 주석 : # ⇒ ‘%test%’ and 1=1# ⇒ test 그대로 검색 o