POC详情: 5ff893614404bf6b6e682318d18c0b7e81faa456

来源
关联漏洞
标题: 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付费,感谢您的支持。