LOS(The Lord of the SQLI) 16 - SUCCUBUS
2021. 1. 17. 20:58ㆍ정보보안/웹 해킹
16번 문제인 SUCCUBUS다.
필터식을 확인해보면,
id, pw 파라미터 각각에 대해 prob, _(언더바), .(마침표) 및 싱글쿼터를 사용할 수 없다.
문제를 해결하기 위해서는 if($result['id'])를 참으로 만족시켜야 하는데, 결국 싱글쿼터를 우회하는 방법밖에는 없다.
일반적 싱글쿼터 우회는 어렵지만, 이문제에서는
id='' and pw='' 로 양쪽 파라미터에 모두 입력이 가능하다.
이 경우 사용할 수 있는 방법은 특수문자를 일반 문자로 바꾸는 \(역슬래쉬)이다.
파라미터 입력을 통해 id='\' and pw='%23' 를 입력하면
select id from prob_succubus where id='\' and pw='%23' 이 된다.
이를 분석해보면 주석과 \(역슬래쉬) 때문에 id 값은 ' and pw=' 가 된다
그리고 where 절을 참으로 만들기 위해 pw에 || 1=1을 입력하면 문제를 해결 할 수있다.
select id from prob_succubus where id='\' and pw='||1=1%23'
(id가 ' and pw=' 라는 것은 False 이지만 1=1 이 True 이므로 or 연산자를 통해 where절을 True로 만듬)
'정보보안 > 웹 해킹' 카테고리의 다른 글
LOS(The Lord of the SQLI) 18 - NIGHTMARE (0) | 2021.02.19 |
---|---|
LOS(The Lord of the SQLI) 17 - Zombie Assassin (0) | 2021.02.18 |
LOS(The Lord of the SQLI) 14 - GIANT (0) | 2021.01.17 |
LOS(The Lord of the SQLI) 13 - BUGBEAR (0) | 2021.01.17 |
LOS(The Lord of the SQLI) 11 - GOLEM (0) | 2021.01.16 |