본문 바로가기

개인 공부/WEB46

[웹해킹] dreamhack file-download dreamhack file download file download 취약점을 이용해서 flag.py를 다운받아야한다 문제 풀이 위와 같은 사이트에 접속되는데, 내 메모를 업로드 할 수 있게 구현되어있다. 임의로 hello.txt 파일을 업로드 해보았다. 이렇게 내가 만든 파일이 업로드된다. 파일을 읽어보면, 내가 만든 제목과 내용에 맞게 메모가 만들어져있고 url을 보면 name 변수에 get 방식으로 파일의 이름을 받고 있다. flag.py를 다운로드 해야하기때문에 name변수에 flag.py를 써볼까 생각이 들었다. 안된다. 문제 파일의 소스코드를 한번 살펴보자 def upload_memo(): if request.method == 'POST': filename = request.form.get('f.. 2021. 7. 26.
[웹해킹] dreamhack image-storage dreamhack image-storage write up php로 작성된 파일 저장 서비스에서 파일 업로드 취약점을 이용해서 플래그를 획득해야한다. 문제 풀이 접속해서 upload 탭을 누르면 위와 같이 뜬다. 특이한 점이 있는지 upload.php 소스코드를 한번 확인 해봐야할거같다. 따로 파일 확장자 등에 필터링이 존재하지 않는 모습이다. 따라서 flag가 존재하는 /flag.txt 경로로 이동하는 command를 실행하는 php문을 작성해서 업로드하면된다. 위와 같이 작성한 뒤에, php파일로 저장한다 그리고 업로드해준뒤 list에 들어가면 flag 획득 성공 2021. 7. 26.
[웹해킹] dreamhack php-1 dreamhack php-1 php로 작성된 웹에서 LFI 취약점을 이용해서 플래그를 획득하는 문제이다. 문제를 해결해보자 문제 풀이 먼저 문제 풀이에 앞서서 LFI 취약점을 이용하라고 설명에 나와있는데 LFI가 뭔지부터 알아보자 LFI(Local File Inclusion) : 공격 대상 서버에 위치한 파일을 포함시켜 읽어오는 공격 쉽게 이야기해서, 공격 대상 서버에 있는 디렉토리로 접근해서 원하는 파일을 열어보는 것 플래그가 /var/www/uploads/flag.php에 위치하기때문에, 서버의 flag.php가 위치한 경로로 접근해서 플래그를 읽어내라는 것이다. 먼저 문제 사이트에 접속하면 위와 같이 나온다. 하나씩 눌러보다가 list를 눌러보니 인덱스처럼 아래와 같이 표시된다 내가 찾는 flag... 2021. 7. 26.
[웹해킹] dreamhack cookie dreamhack cookie dreamhack에서 제공하는 난이도 1짜리 문제이다. 쿠키로 인증 상태를 관리하는 로그인 서비스에 admin 계정으로 로그인하면 flag를 찾을 수 있는 문제라고 한다. 문제 풀이 문제를 다운로드 해서 살펴보면, #!/usr/bin/python3 from flask import Flask, request, render_template, make_response, redirect, url_for app = Flask(__name__) try: FLAG = open('./flag.txt', 'r').read() except: FLAG = '[**FLAG**]' users = { 'guest': 'guest', 'admin': FLAG } @app.route('/') def i.. 2021. 7. 26.