이 문제를 풀어보려고 했다.
다음과 같은 창이 나와 ?cmd= "" 에 실행 될거라고 생각했다.
오류가 나지는 않아 코드를 열어보았다.
코드를 보면 요청 방식이 GET이면 안된 다는 것 같았다.
하지만 어떻게 요청방식을 바꾸는지 몰라서 답을 보게 되었다.
결과적으로는 요청방식을 바꾸는 것 뿐만아니라 출력하게 만드는 것도 문제였던것이다.
BurpSuite와 Curl을 이용해서 위 문제를 해결 할 수 있었다.
먼저 GET /?cmd=ls 였던 이부분을 BurpSuite에서 Intruder 기능을 써서
GET을 OPTIONS로 바꿔 GET외에 무슨 요청이 가능한지 알아보았다.
Allow : GET, OPTIONS, HEAD 라고 되있는걸 보니 HEAD로 요청을 보내면 필터링에 걸리지 않을 것이다.
curl과 dreamhack의 RequestBin을 활용하여 다음과 같이 보내서
Request Bin에서 ls-al이 실행된 결과를 볼 수 있었다.
url에 입력한후 BurpSuite에서 GET요청을 HEAD요청으로 바꿔줘야한다.
마찬가지로 cat flag.py를 해서 결과를 얻을 수 있었다.
고찰 :
방법론은 생각해도 아직 실행할 수 있는 구현력이 부족한 것 같다.
'정보보안 > DreamHack' 카테고리의 다른 글
[Wargame]rev-basic-5, 6(reversing) (0) | 2022.03.27 |
---|---|
[Wargame]rev-basic-4(reversing) (0) | 2022.03.20 |
[Lecture]블록암호 : 운영모드(Cryptography) (0) | 2022.02.03 |
[Lecture]현대암호(Cryptography) (0) | 2022.01.28 |
[Lecture]고전암호(Cryptography) (0) | 2022.01.27 |