명령창에 1
을 입력했을 때,
'User ID exists in the database.' 라고 뜨며, 존재함 만을 알려준다. (단순 SQL 인젝션과는 달리 다른 개인정보는 알려주지 않음)
5
를 입력했을 때 :
6
을 입력했을 때 :
사용자가 존재하지 않는다고 뜸.
'
을 입력했을 때 :
사용자가 없는 것과 마찬가지의 경고문구가 뜸.
우선, 입력칸에 1' AND 1=1#
을 입력하면 존재한다고 나오고,
입력칸에 1' AND 1=2#
을 입력하면 존재하지 않는다고 나온다.
따라서 1' 뒤의 AND문이 작동하는 것을 알 수 있다.
이를 이용하면, 참/거짓을 판별할 수 있다.
웹에서 F12
클릭하여 네트워크 창을 열어준다.
다음을 입력칸에 입력해 준다.
1' AND sleep(5)#
네트워크 창에 다음과 같이 응답까지 5초가 걸리면, 1번 사용자는 존재하는 것으로 알 수 있다. (웹에 나타나는 메세지와는 다르게)
존재하지 않는 7번 사용자로 입력하면
7' AND sleep(5);
다음과 같이 52ms 로 바로 응답한다.