picoCTF 2018
-
[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..
-
[Web Exploitation] ButtonsWargame/picoCTF 2018 2019. 4. 3. 17:26
문제에서 주어진 링크에 접속하면 Button1이라는 버튼이 존재한다. 해당 버튼을 클릭하면 button1.php에 접속되고, Button2라는 또다른 버튼이 나타난다. 두 번째 버튼인 Button2를 클릭하면 Access Denied 문구가 출력되고 이상한 동영상이 재생된다. 힌트는 두 버튼의 차이점이다. 다시 처음 화면으로 되돌아와서 개발자도구를 통해 Button1의 소스 코드를 확인해보면, button1.php가 POST 방식으로 전송되는 것을 알 수 있다. 반면 Button2의 경우 a 태그의 href 속성으로 button2.php가 전송되고, 전송 방식 또한 GET 방식이다. 따라서 button2.php에 제대로 접속하기 위해서는 전송 방식을 button1.php와 같은 POST 방식으로 바꿔줘야..