CVE-2017-1000486 primefaces 5.x 表达式注入漏洞
漏洞利用五分钟,解决报错半个小时,真是一场酣畅淋漓的赤石
扫描出漏洞后,在GitHub上下载利用脚本
https://github.com/pimps/CVE-2017-1000486
下载好后进入文件夹,直接运行python primefaces.py多半要报错
本来以为pip install Crypto就行的,因为大一的时候就遇到过一样的报错pip过后就OK了,结果安装模块过后还是报错
好吧那我老老实实pip install -r requirements.txt,把脚本作者需求的模块都安完,但是还是报错没有Crypto模块
只有百度了,CSDN文章链接:https://blog.csdn.net/xiaojin21cen/article/details/109642940
最恶心的就来了,我python是用的Anaconda,在Anaconda文件夹下找了半天都找不到/Lib/site-packages/的位置,for /r d:/ %i in () do @echo %i也试了,找不到
最后只有unpip,使用卸载命令,系统会把模块的路径都列出来问你是否删除这些才找到
按照CSDN所说, 在python3 (或者 python 虚拟环境)目录下的 /Lib/site-packages/ 目录下找到 crypto 首字母改为大写,即分别修改名称为 Crypto-1.4.1.dist-info和Crypto
最终脚本才成功跑起来
接下来的利用很简单了
cd进脚本所在的文件夹,运行primefaces.py -h
执行漏洞检测 primefaces.py XXX网站 (空格后边直接写URL)
默认whoami命令返回root,漏洞复现成功
然后就是写入webshell,在网站前端找到一个html文件,执行find / -name como-utilizar.xhtml命令查找文件绝对路径,以快速定位网站目录在服务器中的绝对路径
小技巧,输入的命令是python primefaces.py xxxxxxx -c "find / -name xxx.html",如果直接输python primefaces.py xxxxxxx -c find / -name xxx.html,没有引号参数闭合错误会报错,中文引号也不行
找到绝对路径就可以echo写webshell了,这里不再演示




