关联漏洞
标题:
Apache Struts 2 输入验证错误漏洞
(CVE-2017-5638)
描述:Apache Struts是美国阿帕奇(Apache)软件基金会的一个开源项目,是一套用于创建企业级Java Web应用的开源MVC框架,主要提供两个版本框架产品,Struts 1和Struts 2。 Apache Struts 2 2.3.32之前的2 2.3.x版本和2.5.10.1之前的2.5.x版本中的Jakarta Multipart解析器存在安全漏洞,该漏洞源于程序没有正确处理文件上传。远程攻击者可借助带有#cmd=字符串的特制Content-Type HTTP头利用该漏洞执行任意命令。
描述
Apache Struts version analyzer (Ansible) based on CVE-2017-5638
介绍
# check_struts
This project has been created following 2017 [Equifax exploit]( https://thehackernews.com/2017/09/equifax-apache-struts.html)
The **check_struts.sh** script aims at retrieving any Apache struts libraries version and location found and/or loaded on the system.
It can be run directly on a server, or with the provided Ansible playbook, to handle several servers.
## Possible Outputs:
- *"Libs path and versions loaded on the system:"*
The libraries found are currently running on the system, and could be accessible.
- *"Libs path and versions installed on the system:"*
The librairies are present on the filesystem, but not running.
## Example with Ansible Playbook:
```
➜ ansible-playbook git:(master) ✗ ansible-playbook play.yml -i inventory
PLAY [Check Struts] ***********************************************************************************************************************************************************************************************
TASK [ensure a list of packages installed] ************************************************************************************************************************************************************************
ok: [servername]
TASK [Upload script check-struts.sh] ******************************************************************************************************************************************************************************
ok: [servername]
TASK [Check if struts presence/version] ***************************************************************************************************************************************************************************
ok: [servername]
TASK [debug] ******************************************************************************************************************************************************************************************************
skipping: [servername]
TASK [Remove check-struts.sh] *************************************************************************************************************************************************************************************
ok: [servername]
PLAY RECAP ********************************************************************************************************************************************************************************************************
servername : ok=4 changed=0 unreachable=0 failed=0
```
[Apache Struts full CVEs](https://www.cvedetails.com/vulnerability-list/vendor_id-45/product_id-6117/Apache-Struts.html)
文件快照
[4.0K] /data/pocs/5ff893614404bf6b6e682318d18c0b7e81faa456
├── [4.0K] ansible-playbook
│ ├── [ 11] inventory
│ └── [ 952] play.yml
├── [1.1K] check-struts.sh
├── [ 34K] LICENSE
└── [2.5K] README.md
1 directory, 5 files
备注
1. 建议优先通过来源进行访问。
2. 如果因为来源失效或无法访问,请发送邮箱到 f.jinxu#gmail.com 索取本地快照(把 # 换成 @)。
3. 神龙已为您对POC代码进行快照,为了长期维护,请考虑为本地POC付费,感谢您的支持。