본문 바로가기

dreamhack28

php-1 [문제] [풀이] 문제에 접속하면 다음과 같은 화면이 나타난다. List 페이지로 이동하면 플래그가 들어있는 flag.php를 확인할 수 있다. flag.php를 클릭하면 다음과 같이 권한이 거부되었다는 메시지가 출력된다. 우선 소스 코드를 살펴보자. view.php를 살펴보면 preg_match 함수를 통해 문자열 flag를 필터링하고 있음을 알 수 있다. 따라서 flag.php를 확인하기 위해서는 해당 필터링을 우회해야한다. http://host1.dreamhack.games:24563/?page=view&file=../uploads/flag.php http://host1.dreamhack.games:24563/?page=php://filter/convert.base64-encode/resource=.. 2022. 5. 4.
proxy-1 [문제] [풀이] 문제에 접속하면 다음과 같은 화면이 나타난다. Raw Socket Sender (Done) 화면으로 이동한 다음에 host, port, Data에 각각 127.0.0.1, 80, data를 입력하고 Send 버튼을 눌러주었다. Send 버튼을 누르니 다음과 같은 오류가 출력된다. 문제 이름 자체가 proxy이기 때문에 한 번 해당 패킷을 Burp Suite을 통해 살펴보자. Burp Suite로 살펴보았지만 주의 깊게 살펴보아야 하는 것은 보이지 않았다. 소스 코드를 살펴보자. socket 페이지에서 send 버튼을 부르면 host, port, Data가 전송이 되는 것을 알 수 있다. admin 페이지에서 전송된 패킷이 조건에 부합할 경우에 플래그를 출력한다. 이때, 요구되는 조건은 .. 2022. 5. 4.
pathtraversal [문제] [풀이] 코드를 살펴보면 userid 값에 guest와 admin이 존재한다는 것을 확인할 수 있다. userid의 경우 /api/user/{userid}에 저장된다. flag의 경우 /api/flag에 저장된다. Get User Info로 들어가 userid에 guest를 입력했다. guest를 입력하고 View 버튼을 누르자 userid의 값이 guest인 정보를 확인할 수 있다. userid와 마찬가지로 ../flag를 입력하면 플래그에 대한 정보가 출력될 것이라 예상했지만, 플래그에 대한 정보가 아닌 {}가 출력되는 것을 확인할 수 있다. 플래그에 대한 정보가 출력되지 않은 이유를 찾아보기 위해 Burp Suite를 사용했다. Proxy/Options에서 다음과 같이 설정을 변경한 다음 .. 2022. 5. 1.
NoSQL-CouchDB 보호되어 있는 글 입니다. 2022. 5. 1.
sql injection bypass WAF Advanced 보호되어 있는 글 입니다. 2022. 4. 24.
sql injection bypass WAF 보호되어 있는 글 입니다. 2022. 4. 24.