2024. 11. 14. 20:48ㆍInformation Security 정보보안/DreamHack
배울내용 :
dreamhack,
web hacking,
개발자도구,
dreamhack 풀이,
dreamhack file-download-1문제,
dreamhack web 풀이 ,
BurfSuite
문제
File Download 취약점이 존재한다는것 같다
먼저 문제링크를 들어가게 되면 Home 화면으로 Please upload your memo 라고 뜨고
upload my memo 라는 상위 네비가 있어서 클릭해 본다
아래처럼 파일이름과 내용을 입력하고 업로드를 하게 되면 아까 봤던 Home 화면에 아래처럼 보이게 된다
그리고 클릭하게 되면 아래처럼되는데 이걸 클릭하면 아까 입력했던 제목과 내용이 나오게 된다
그러면 filedownload 를 어떻게 이용해볼까?
기존코드에 아래의 것을 추가해주면 된다
이는 .. 은 이전파일을 말하는건데 ../을 여러개해주면 가장 첫 화면으로 가고 거기서부터 etc/passwd 를했을때 성공이 되면 filedownload 취약점이 나오게 된다
../../../../../../etc/passwd
이것을 개발자 도구로 이용하여 html 을 수정을 아래처럼 하고 클릭을 해보자
그러면 아래처럼 etc/passwd 에 아이디에 대한 정보를 뽑아낼수가있다
만약 이를 막는 방법을 알고싶다면 아래의 링크를 따라가자
https://sarimus.tistory.com/67
다시 본문으로 돌아와서 위와 같은 방법을 이용하여 flag.py 를 다운받으면 성공플레그를 뛰울수있을것이다
추가적으로 코드를 확인해봤는데
@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')
여기에서 파일제목에서 ".." 을찾아서 bad character 를 뛰우는게 아마 파일을 업로드할떄 ../../ 을 이용하면 안되고 html 을 수정하면 될것이다.
'Information Security 정보보안 > DreamHack' 카테고리의 다른 글
[DreamHack] [web] [beginner] cookie 풀이 (0) | 2024.11.15 |
---|---|
[DreamHack] [web] [beginner] pathtraversal 풀이 (0) | 2024.11.14 |
[DreamHack] [web] [beginner] command-injection-1 풀이 (1) | 2024.11.13 |
[DreamHack] [web] [beginner] web-misconf-1 풀이 (0) | 2024.11.13 |
[DreamHack] [web] [beginner] Carve Party 풀이 (0) | 2024.11.12 |