학습
워게임
CTF
커뮤니티
랭킹
스토어
커리어
Beta
로그인
|
기업 서비스
Home
학습
워게임
CTF
커뮤니티
랭킹
커리어
Beta
기업 서비스로 이동하기 >
Beginner
file-download-1
web
12062
6576
로그인 하고 문제 풀기
문제 정보
풀이
275
난이도 투표
15
질문
10
최근 풀이자
6576
댓글
296
문제 설명
File Download 취약점이 존재하는 웹 서비스입니다.
flag.py를 다운로드 받으면 플래그를 획득할 수 있습니다.
Reference
Introduction of Webhacking
Translate
출제자 정보
Dreamhack
대표 업적 없음
2020.04.14. 00:00:00
First Blood!
Alona
워게임: 50
출제된 지
22시간
만에 풀이 완료!
난이도 투표
15
문제 풀이를 완료한 후에 피드백을 제출할 수 있습니다.
투표 결과
전체 투표 로그
1 / 3
woanmeo11
대표 업적 없음
LEVEL 1에 투표했습니다.
1년 전
Kabi
사이보그
LEVEL 1에 투표했습니다.
1년 전
해기
대표 업적 없음
LEVEL 1에 투표했습니다.
1년 전
abcddd
공부벌레
LEVEL 1에 투표했습니다.
1년 전
Soon
사이보그
LEVEL 1에 투표했습니다.
2년 전
질문
10
문제 풀이에 어려움이 있으신가요?
커뮤니티에서 문제에 대한 질문하고 답변 얻기
웹페이지 깨짐
크롬으로 접속하면 웹페이지 화면이 깨져서 나오는데 해결 방법 아시는 분 계신가요?
ukkiyeon
답변
1
추천
5
3년 전
풀이방법?
인터넷 보고 풀긴 했는데 원래 생각은 /read?name=flag.py 인 줄 알았는데 /read?name=../flag.py로 풀더라구요. ../이 무슨 뜻인가요?
azza
답변
1
추천
3
3년 전
file-upload
서버 사이드 베이직 에서 배웠던 내용 토대로 풀려고 하지만 오히려 file-upload와 더 비슷한 페이지가 보이네요...path를 이용하려 하면 잘 안되던데 file-download 예시만으로도 충분한가요??
jcmaker0627
답변
1
추천
3
4년 전
경로를 못 찾겠습니다.
../을 활용해서 flag.py 파일이 있는 디렉토리를 찾아가야 될 것같은데 경로를 전혀 모르겠습니다ㅜㅜ 방법을 몰라 app.py를 비롯해서 파일들 다 구경해보고 검색도 따로 해봤는데 경로찾는 법은 알려주는 곳이 없네요ㅜㅜ 어떤 방법으로 경로를 찾아야되나요?
쭈꾸미
답변
3
추천
3
4년 전
1
1
catower
답변
2
추천
1
3년 전
질문
name 파라미터에 ../flag.py 넣는거랑 ../../flag.py 넣는거랑 차이가 있나요? 둘 다 상위 디렉터리로 이동하는거 아닌가요? ../../flag.py는 안돼서 물어봅니다 만약 상위 디렉터리로 간다면 ../ 이것을 여러개 사용해도 되는지 궁금합니다
jiwoong
답변
1
추천
0
1년 전
웹 셸 풀이
#!/usr/bin/env python3 import os import shutil from flask import Flask, request, render_template, redirect from flag import FLAG APP = Flask(name) UPLOAD_DIR = 'uploads' @APP.route('/') def index(): files = os.listdir(UPLOAD_DIR) return render_template('index.html', files=files) @APP.route('/upload', methods=['GET', 'POST']) def upload_memo(): if request.method == 'POST': filename = request.form.get('filename') content = request.form.get('content').encode('utf-8') if filename.find('..') != -1: return render_template('upload_result.html', data='bad characters,,') with open(f'{UPLOAD_DIR}/{filename}', 'wb') as f: f.write(content) return redirect('/') return render_template('upload.html') @APP.route('/read') def read_memo(): error = False data = b'' filename = request.args.get('name', '') try: with open(f'{UPLOAD_DIR}/{filename}', 'rb') as f: data = f.read() except (IsADirectoryError, FileNotFoundError): error = True return render_template('read.html', filename=filename, content=data.decode('utf-8'), error=error) if name == 'main': if os.path.exists(UPLOAD_DIR): shutil.rmtree(UPLOAD_DIR) os.mkdir(UPLOAD_DIR) APP.run(host='0.0.0.0', port=8000) 안녕하세요. 혹시 해당 문제에서는 /upload 엔드포인트에서 웹 셸을 업로드해서 공격할 수 없는 이유가 정확히 무엇인지 알 수 있을까요 ? /read 페이지로 UPLOAD_DIR/filename 에 접근하는 것이 아니라, 데이터 자체를 읽어서 가져오기 때문인가요?
ro
답변
1
추천
0
2개월 전
답을 찾아서 복붙 했는데 왜 잘못된 풀이라고 나오나요?
디렉토리 이동해서 flag.py 찾았습니다. FLAG = 'DH{~}' 이렇게 나와서 북붙했는데 왜 잘못된 정답이라고 나오나요? 따라 쳐보기도 했습니다. 도와주십시오.
zizonpark
답변
1
추천
0
8일 전
Can RCE
Is it possible to RCE?
hiepck
답변
1
추천
0
10개월 전
flag.py 경로
문제를 풀어서 flag.py의 경로가 ../flag.py라는걸 알긴 했는데, app.py을 보고 flag.py의 경로가 ../flag.py인지 알 수 있는 부분이 있을까요? 저는 코드만 봐서는 flag.py가 ../flag.py에 있는지 ../../flag.py에 있는지 등을 모르겠어서...
qefoi
답변
1
추천
0
3개월 전
«
‹
1
›
»
최근 풀이자
6576
밍쪼
대표 업적 없음
6시간 전
ddoe
대표 업적 없음
8시간 전
윤주
대표 업적 없음
14시간 전
seo1
대표 업적 없음
17시간 전
공룡은살아있다
대표 업적 없음
24시간 전
Beef
대표 업적 없음
1일 전
황록
대표 업적 없음
1일 전
박살이
대표 업적 없음
1일 전
jihoon3007
대표 업적 없음
1일 전
Tide
대표 업적 없음
1일 전
«
‹
1
2
3
4
5
›
»
댓글
296
권도형봇
대표 업적 없음
1년 전
여러분은 할 수 있습니다.
Translate
권도형봇
대표 업적 없음
1년 전
직관적으로 생각하세요
Translate
Chriskmas
대표 업적 없음
1년 전
혼자 낑낑대다가 정 안되면 풀이 검색해보는데 알고 나면 쉽지만 혼자서는 감도 안 잡힌다는거..
Translate
O_F
대표 업적 없음
1년 전
간단하게 생각해야 합니다. 코드를 살펴보면 경로가 보입니다.
Translate
제트스트림
대표 업적 없음
1년 전
경로를 너무 많이 올라가서 찾앗네요
Translate
T0pCcr4t
대표 업적 없음
1년 전
포기만 하지 맙시다.
Translate
다 뚫자
대표 업적 없음
2년 전
문제 의도 생각하기. 애초에 내부 경로를 알 수 없으니, 적당한 곳에서 찾을 수 있음... 하.. 이런 쉬운거에 몇 분을 쓴거야 정말!!!!!!!으앆!!
Translate
Code-SHD
대표 업적 없음
2년 전
../
Translate
AN_hyeon_min
대표 업적 없음
2년 전
read?name= 하고 ..// 구문을 이용해보세요
Translate
toffeenutt
프레시맨
2년 전
10초컷..
Translate
«
‹
1
2
3
4
5
›
»
댓글 296