From 4b3be9e4cc4b95aae7e477f15d05abaf9780cd89 Mon Sep 17 00:00:00 2001 From: Medicean Date: Tue, 7 Nov 2017 10:08:47 +0800 Subject: [PATCH] (Add Vul: Struts2) S2-045 --- _posts/2017-03-07-s_struts2_s2-045.md | 47 +++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 _posts/2017-03-07-s_struts2_s2-045.md diff --git a/_posts/2017-03-07-s_struts2_s2-045.md b/_posts/2017-03-07-s_struts2_s2-045.md new file mode 100644 index 0000000..58bec89 --- /dev/null +++ b/_posts/2017-03-07-s_struts2_s2-045.md @@ -0,0 +1,47 @@ +--- +layout: post +title: "Struts2 Jakarta 插件远程代码执行漏洞(S2-045)" +date: 2017-03-07 16:15:22 +0800 +image: '/assets/img/' +description: 'Struts2 Jakarta 插件存在远程代码执行漏洞,攻击者只需发送一个精心构造的恶意请求,即可执行任意代码' +main-class: 'hole' +color: '#B31917' +tags: +- Struts2 +- RCE +categories: +- Struts2 +twitter_text: 'Struts2 Jakarta 插件存在远程代码执行漏洞,攻击者只需发送一个精心构造的恶意请求,即可执行任意代码' +introduction: 'Struts2 Jakarta 插件存在远程代码执行漏洞,攻击者只需发送一个精心构造的恶意请求,即可执行任意代码' +--- + +### 漏洞信息 + + * [S2-045 公告](https://cwiki.apache.org/confluence/display/WW/S2-045) + +### 获取环境: + +1. 拉取镜像到本地 + ```bash +$ docker pull medicean/vulapps:s_struts2_s2-045 + ``` + +2. 启动环境 + ```bash +$ docker run -d -p 80:8080 medicean/vulapps:s_struts2_s2-045 + ``` + > `-p 80:8080` 前面的 80 代表物理机的端口,可随意指定。 + +### 使用与利用 + +访问 `http://你的 IP 地址:端口号/` + +#### [PoC](https://github.com/Medicean/VulApps/raw/master/s/struts2/s2-045/poc.py) + +运行 `poc.py` + + ```bash +$ python poc.py + ``` + +![](https://github.com/Medicean/VulApps/raw/master/s/struts2/s2-045/s2-045-1.png)