Web Exploitation
-
[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 방식으로 바꿔줘야..
-
[Web Exploitation] Secret AgentWargame/picoCTF 2018 2019. 4. 3. 16:57
My New Website에 접속 후 바로 Flag를 누르면 현재 페이지가 구글이 아니라는 문구가 뜨면서 현재 사용중인 User Agent가 나타난다. User Agent란 사용자를 대신해 일을 수행해주는 소프트웨어 에이전트로, 거의 대부분 웹 브라우저를 말한다. 따라서 User Agent, 즉 현재 실행중인 웹 브라우저를 구글로 바꿔주면 된다. 개발자도구 실행 후 오른쪽 상단에 ...으로 표시된 곳을 클릭하면 More tools에 Network conditions 메뉴가 있는 것을 확인할 수 있다. Network conditions를 클릭하면 하단에 해당 메뉴가 생성되는데, 여기서 User-Agent를 Googlebot으로 변경해준 뒤 Flag를 클릭하면 Flag가 나타난다.