| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | ||||
| 4 | 5 | 6 | 7 | 8 | 9 | 10 |
| 11 | 12 | 13 | 14 | 15 | 16 | 17 |
| 18 | 19 | 20 | 21 | 22 | 23 | 24 |
| 25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 패키지
- List
- echo 명령어
- gdgm
- SK쉴더스
- 보안공부
- 생성형AI
- git push -u
- tunder client
- 클래스
- 레이블인코딩
- sqld
- node.js
- 수업복습
- 블록(Block)
- 예외처리
- OT후기
- 함수
- 꽉뚝짝 시장
- 태국
- 지도학습
- pandas
- Package
- 루키즈
- dropna
- 데이터분포
- 성능평가지표
- 루키즈33기
- 방콕
- Linked List
Archives
- Today
- Total
개발 블로그
[DreamHeck] file-download-1 본문
https://dreamhack.io/wargame/challenges/37
먼저 파일을 다운로드 받고 app.py 를 확인했음


위와 아래의 차이점이 보이시나요??
우선 from flag import FLAG 로 flag.py가 uploads/ 상위에 있다는 걸 발견함
둘 다 uploads/파일명 형태로 파일을 읽음
/upload 경로에서는
if filename.find('..') != -1:
return render_template('upload_result.html', data='bad characters,,')
이 코드로 ..로의 접근이 불가함
/read 에서 보면 해당 코드 없이 작동함
그래서 /read 에서 name 파라미터에 직접 넣어보기로 했음
현재 /upload 에 있으니까 ../ 으로 상위로 간 다음에 접근하면 됨
/read?name=../flag.py
'Study > Web Hacking' 카테고리의 다른 글
| [DreamHeck] xss-2 (0) | 2026.07.21 |
|---|---|
| [DreamHeck] xss-1 (0) | 2026.07.21 |
| [DreamHeck] sql injection bypass WAF (0) | 2026.07.08 |
| [DreamHeck] simple_sqli (0) | 2026.07.05 |
| [DreamHeck] session (0) | 2026.07.05 |