st-048漏洞预警(附poc)

 近期,Struts2官方在7.6已经确认存在新的远程代码执行漏洞


漏洞编号:S2-048

CVE编号:CVE-2017-9791

漏洞危害:高

影响范围:Struts 2.3.x系列中的showcase应用。


漏洞概述

Apache Struts是美国阿帕奇(Apache)软件基金会负责维护的一个开源项目,是一套用于创建企业级Java Web应用的开源MVC框架。在Struts 2.3.x 系列的Showcase 应用中演示Struts2整合Struts 1 的插件中存在一处任意代码执行漏洞。当你的应用使用了Struts2 Struts1的插件时,可能导致不受信任的输入传入到ActionMessage类中导致命令执行。


解决方案

向ActionMessage传递原始消息时使用类似下面的资源键值,不要直接传递原始数值

messages.add(“msg”, new ActionMessage(“struts1.gangsterAdded”, gform.getName()));

值不应如此:

messages.add(“msg”, new ActionMessage(“Gangster “ + gform.getName() + “ was added”));

Github poc:https://github.com/Loneyers/vuldocker/blob/822c815e5d92fc845831a200ebe9726263e6962a/struts2/s2-048/README.md


    (#!/usr/bin/env python]


   import binascii

   import requests



  def  poc(url):

         payload =  "205f5f5f5f205f5f5f5f20202020202020205f5f5f20205f20205f202020205f5f5f0a2f205f5f5f7c5f5f5f205c2020202020202f205f205c7c207c7c207c202028205f20290a5c5f5f5f205c205f5f29207C5f5f5f5f7c207c207c207c207c7c207c5f202f205f205c0a205f5f5f29202f205f5f2f5f5f5f5f5f7c207c5f7c207c5f5f2020205f7c20285f29207c0a7c5f5f5f5f2f5f5f5f5f5f7c20202020205c5f5f5f2f2020207c5f7c20205c5f5f5f2f0a0a20202020e58584e5bc9fefbc8ce591a8e69cabe4ba86efbc8ce697a9e782b9e59b9ee58ebbe590a7efbc8ce5bdble5938de4b88de5a4a70a"

              try:

                       resp  = requests.get(url, headers={“User-Agent”:payload})

              except:

                        pass

           print  binascii.a2b_hex(payload)

    if name== '_main_':

           poc("")

本博客所有文章如无特别注明均为原创。作者:小陈复制或转载请以超链接形式注明转自 小陈's Blog - 致力关注于黑客技术、渗透测试、网络信息安全
原文地址《st-048漏洞预警(附poc)
分享到:更多

相关推荐

发表评论

路人甲 表情
看不清楚?点图切换 Ctrl+Enter快速提交

网友评论(0)