blind-command 풀이
2021. 8. 18. 13:13ㆍDreamhack Wargame
728x90
소스코드에서 두 번째 if를 보면 request의 method가 GET이 아니여야 os.system() 함수가 실행됩니다.
항상 GET, POST만 써서 생각나는 메소드가 POST 밖에 없는데 if문을 저렇게 작성을 해놓은걸 보면, POST 메소드가 아닌 다른 형식의 메소드가 있는 것 같습니다.
https://developer.mozilla.org/ko/docs/Web/HTTP/Methods/HEAD
HEAD 메소드를 사용해서 문제를 풀어보겠습니다.
이번 문제는 웹페이지가 저렇게 되어있는 관계로 버프 스위트를 사용해서 풀어야 할 것 같습니다.
우선 문제 풀이 순서는 아래와 같습니다.
- OPTIONS로 서버에서 HEAD 메소드를 처리할 수 있는지 확인
- 요청을 받기 위한 임시 서버 만들기 (이거는 Requestbin) 사용
- `ls f*` 명령어로 flag가 들어있는 파일 찾기
- `cat [flag가 들어있는 파일명]` -> 이렇게 하면 풀릴 줄 알았는데 FLAG라는 문자열만 나옴 (알고보니 flag 형식은 FLAG = ~~~로 되어있어서 그런 것이였다.)
- `base64 [파일명]`으로 FLAG 획득하기!
이 문제가 웹 문제들 중 삽질 제일 많이 했던 문제였습니다.
어질어질하네요;;;
728x90
'Dreamhack Wargame' 카테고리의 다른 글
php-1 풀이 (0) | 2021.09.05 |
---|---|
web-ssrf 풀이 (0) | 2021.08.25 |
csrf-2 풀이 (0) | 2021.08.17 |
xss-2 풀이 (0) | 2021.08.17 |
proxy-1 풀이 (0) | 2021.08.11 |