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 格式字符串 或 类污染,可能允许你 读取 Python 内部数据,但不允许你执行代码。因此,渗透测试人员需要充分利用这些读取权限,以 获取敏感权限并升级漏洞。
Flask 应用程序的主页面可能会有 app
全局对象,其中配置了这个 密钥。
在这种情况下,只需使用任何小工具即可从绕过 Python 沙箱页面访问此对象以访问全局对象。
在漏洞位于不同的 Python 文件的情况下,您需要一个小工具来遍历文件,以便到达主文件以访问全局对象 app.secret_key
,以更改 Flask 秘密密钥并能够利用此密钥提升权限。
像这样的有效载荷来自这篇文章:
使用此有效载荷来更改 app.secret_key
(您应用中的名称可能不同),以便能够签署新的和更高级的 flask cookies。
使用此写作中的有效载荷,您将能够访问machine_id和uuid节点,这些是您需要的主要秘密,以生成 Werkzeug pin,您可以在调试模式启用时使用它访问 /console
中的 python 控制台:
注意,您可以通过在网页上生成一些错误来获取服务器本地路径到 app.py
,这将给您路径。
如果漏洞在另一个python文件中,请检查之前的Flask技巧以访问主python文件中的对象。
学习和实践AWS黑客技术:HackTricks培训AWS红队专家(ARTE) 学习和实践GCP黑客技术:HackTricks培训GCP红队专家(GRTE)