Python Internal Read Gadgets
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)
Python Format Strings 또는 Class Pollution와 같은 다양한 취약점은 파이썬 내부 데이터를 읽을 수 있게 하지만 코드를 실행할 수는 없습니다. 따라서, 펜테스터는 이러한 읽기 권한을 최대한 활용하여 민감한 권한을 얻고 취약점을 상승시켜야 합니다.
Flask 애플리케이션의 메인 페이지에는 이 비밀이 구성된 app
전역 객체가 있을 것입니다.
이 경우, Python 샌드박스 우회 페이지에서 전역 객체에 접근하기 위해 어떤 가젯을 사용하여 이 객체에 접근할 수 있습니다.
취약점이 다른 파이썬 파일에 있는 경우, 파일을 탐색하여 메인 파일에 도달하기 위한 가젯이 필요하며, 이를 통해 전역 객체 app.secret_key
에 접근하여 Flask 비밀 키를 변경하고 이 키를 알고 권한 상승을 할 수 있습니다.
이와 같은 페이로드는 이 작성물에서:
이 페이로드를 사용하여 app.secret_key
(귀하의 앱에서 이름이 다를 수 있음)를 변경하여 새로운 더 많은 권한의 플라스크 쿠키에 서명할 수 있습니다.
이 작성물에서 이 페이로드를 사용하여 machine_id 및 uuid 노드에 접근할 수 있으며, 이는 Werkzeug 핀을 생성하는 데 필요한 주요 비밀입니다. 디버그 모드가 활성화된 경우 /console
에서 파이썬 콘솔에 접근하는 데 사용할 수 있습니다:
app.py의 서버 로컬 경로를 얻으려면 웹 페이지에서 오류를 생성하여 경로를 제공받을 수 있습니다.
취약점이 다른 파이썬 파일에 있는 경우, 메인 파이썬 파일에서 객체에 접근하기 위한 이전 Flask 트릭을 확인하세요.
AWS 해킹 배우기 및 연습하기:HackTricks Training AWS Red Team Expert (ARTE) GCP 해킹 배우기 및 연습하기: HackTricks Training GCP Red Team Expert (GRTE)