[웹해킹/5_SQL 인젝션 공격] 블라인드 SQL 인젝션 공격

주연쓰·2021년 7월 24일
0

웹해킹

목록 보기
17/23

4. 블라인드 SQL 인젝션 공격

(1) SQL Injection (Blind) 로 이동

명령창에 1을 입력했을 때,
'User ID exists in the database.' 라고 뜨며, 존재함 만을 알려준다. (단순 SQL 인젝션과는 달리 다른 개인정보는 알려주지 않음)

5 를 입력했을 때 :

6 을 입력했을 때 :
사용자가 존재하지 않는다고 뜸.


' 을 입력했을 때 :
사용자가 없는 것과 마찬가지의 경고문구가 뜸.

(2) AND문이 작동하는지 확인

우선, 입력칸에 1' AND 1=1# 을 입력하면 존재한다고 나오고,

입력칸에 1' AND 1=2# 을 입력하면 존재하지 않는다고 나온다.

따라서 1' 뒤의 AND문이 작동하는 것을 알 수 있다.
이를 이용하면, 참/거짓을 판별할 수 있다.

(3) 그러나, 사용자가 존재하거나 존재하지 않는 경우에 표시되는 메세지가 같은 경우에는 응답시간으로 존재여부를 알아낼 수 있다.

웹에서 F12 클릭하여 네트워크 창을 열어준다.

다음을 입력칸에 입력해 준다.

1' AND sleep(5)#

네트워크 창에 다음과 같이 응답까지 5초가 걸리면, 1번 사용자는 존재하는 것으로 알 수 있다. (웹에 나타나는 메세지와는 다르게)

존재하지 않는 7번 사용자로 입력하면

7' AND sleep(5);

다음과 같이 52ms 로 바로 응답한다.

profile
( •̀ ω •́ )✧

0개의 댓글