Werkzeug / Flask Debug
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
웹 앱, 네트워크 및 클라우드에 대한 해커의 관점을 얻으세요.
실제 비즈니스에 영향을 미치는 중요한 취약점을 찾아보고 보고하세요. 공격 표면을 매핑하고 권한 상승을 허용하는 보안 문제를 찾아내며, 필수 증거를 수집하기 위해 자동화된 익스플로잇을 사용하여 귀하의 노력을 설득력 있는 보고서로 전환하는 20개 이상의 맞춤형 도구를 사용하세요.
디버그가 활성화되어 있으면 /console
에 접근하여 RCE를 얻으려고 시도할 수 있습니다.
인터넷에는 이것과 같은 여러 익스플로잇이 있습니다. 또는 메타스플로잇에서 하나를 찾을 수 있습니다.
일부 경우 /console
엔드포인트는 핀으로 보호됩니다. 파일 탐색 취약점이 있는 경우 해당 핀을 생성하는 데 필요한 모든 정보를 유출할 수 있습니다.
앱에서 디버그 오류 페이지를 강제로 표시하여 이를 확인하십시오:
A message regarding the "console locked" scenario is encountered when attempting to access Werkzeug's debug interface, indicating a requirement for a PIN to unlock the console. The suggestion is made to exploit the console PIN by analyzing the PIN generation algorithm in Werkzeug’s debug initialization file (__init__.py
). The PIN generation mechanism can be studied from the Werkzeug source code repository, though it is advised to procure the actual server code via a file traversal vulnerability due to potential version discrepancies.
콘솔 PIN을 악용하기 위해 두 세트의 변수가 필요합니다:
probably_public_bits
username
: Flask 세션을 시작한 사용자를 나타냅니다.
modname
: 일반적으로 flask.app
으로 지정됩니다.
getattr(app, '__name__', getattr(app.__class__, '__name__'))
: 일반적으로 Flask로 해결됩니다.
getattr(mod, '__file__', None)
: Flask 디렉토리 내의 app.py
에 대한 전체 경로를 나타냅니다 (예: /usr/local/lib/python3.5/dist-packages/flask/app.py
). app.py
가 적용되지 않는 경우, app.pyc
를 시도하십시오.
private_bits
uuid.getnode()
: 현재 머신의 MAC 주소를 가져오며, str(uuid.getnode())
는 이를 10진수 형식으로 변환합니다.
서버의 MAC 주소를 확인하기 위해, 앱에서 사용되는 활성 네트워크 인터페이스를 식별해야 합니다 (예: ens3
). 불확실한 경우, /proc/net/arp
를 누출하여 장치 ID를 찾고, /sys/class/net/<device id>/address
에서 MAC 주소를 추출하십시오.
16진수 MAC 주소를 10진수로 변환하는 방법은 아래와 같습니다:
get_machine_id()
: /etc/machine-id
또는 /proc/sys/kernel/random/boot_id
의 데이터를 마지막 슬래시(/
) 이후의 /proc/self/cgroup
의 첫 번째 줄과 연결합니다.
AWS 해킹 배우기 및 연습하기:HackTricks Training AWS Red Team Expert (ARTE) GCP 해킹 배우기 및 연습하기: HackTricks Training GCP Red Team Expert (GRTE)