-
[Web Exploitation] The VaultWargame/picoCTF 2018 2019. 4. 3. 17:58
문제에서 제시된 링크에 접속하면 로그인 페이지와 함께 login.php의 소스 코드 링크가 나타난다.
login.php의 소스 코드를 확인해보자.
위에서부터 확인해보면, username과 password는 모두 POST 방식으로 전송되고, SQL 쿼리를 통해 username과 password가 모두 일치해야만 로그인이 되는 것을 알 수 있다.
아래 validation check 코드를 보면, preg_match 함수를 통해 OR 또는 or을 필터링한다는 것을 알 수 있다. 이 때 주의할 점은, preg_match 함수는 $username에만 적용된다는 것이다. $password_match 변수를 보면, preg_match의 대상이 $password가 아닌 $username이므로, $password는 OR 또는 or이 필터링되지 않는다.
따라서 Username 칸에는 아무거나 입력하고 (공백도 가능), Password에는 ' or '1'='1 을 입력하여 SQL 인젝션을 시도하면 성공적으로 로그인이 되고 Flag가 나타난다.
'Wargame > picoCTF 2018' 카테고리의 다른 글
[Web Exploitation] Buttons (0) 2019.04.03 [Web Exploitation] Secret Agent (0) 2019.04.03