1、PUT漏洞
2、短文件名猜解
3、远程代码执行
4、解析漏洞
1、解析漏洞
2、目录遍历
1、文件解析
2、目录遍历
3、CRLF注入
4、目录穿越
1、远程代码执行
2、war后门文件部署
1、反序列化漏洞
2、war后门文件部署
1、反序列化漏洞
3、任意文件上传
4、war后门文件部署
互联网信息服务(英语:Internet Information Services,简称IIS),是由微软公司提供的基于运行Microsoft Windows的互联网基本服务。最初是WindowsNT版本的可选包,随后自带在Windows2000、Windows XP Professional和Windows Server 2003一起发布,但在普遍使用的Windows XP Home版本上并没有IIS。
成因:IIS Server在Web服务扩展中开启了WebDAV,配置了可以写入权限,照成任意文件上传
复现:1) 开启WebDAV 和写权限
利用burp测试
抓包,将GET请求改为OPTIONS
写入一句话:
漏洞介绍及成因
IIS的短文件名机制,可以暴力猜解短文件名,访问构造的某个存在的短文件名,会返回404,访问构造的某个不存在的短文件名,返回400。
漏洞复现
1)、在网站根目录下添加aaaaaaaaaa.html文件
局限性
1) 此漏洞只能确定前6个字符,如果后面的字符太长、包含特殊字符,很难猜解;
2) 如果文件名本身太短(无短文件名)也是无法猜解的;
3) 如果文件名前6位带空格,8.3格式的短文件名会补进,和真实文件名不匹配;
远程代码执行:
1、 漏洞介绍及成因
在IIS6.0处理PROPFIND指令的时候,由于对url的长度没有进行有效的长度控制和检查,导致执行memcpy对虚拟路径进行构造的时候,引发栈溢出,从而导致远程代码执行。
2、 漏洞复现
1)漏洞环境搭建
在windows server 2003 r2 32位上安装iis6.0
2) 触发漏洞
在本地执行exp,exp如下
1、 漏洞介绍及成因
IIS 6.0 在处理含有特殊符号的文件路径时会出现逻辑错误,从而造成文件解析漏洞。这一漏洞有两种完全不同的利用方式:
/test.asp/test.jpg
test.asp;.jpg
2、漏洞复现
利用方式 1
第一种是新建一个名为 "test.asp" 的目录,该目录中的任何文件都被 IIS 当作 asp 程序执行(特殊符号是 “/” )
利用方式 2
第二种是上传名为 "test.asp;.jpg" 的文件,虽然该文件真正的后缀名是 ".jpg", 但由于含有特殊符号 ";" ,仍会被 IIS 当做 asp 程序执行
IIS7.5 文件解析漏洞
test.jpg/.php
URL 中文件后缀是 .php ,便无论该文件是否存在,都直接交给 php 处理,而 php 又默认开启 "cgi.fix_pathinfo", 会对文件进行 “ 修理 ” ,可谓 “ 修理 ” ?举个例子,当 php 遇到路径 "/aaa.xxx/bbb.yyy" 时,若 "/aaa.xxx/bbb.yyy" 不存在,则会去掉最后的 “bbb.yyy" ,然后判断 "/aaa.xxx" 是否存在,若存在,则把 “/aaa.xxx" 当作文件。
若有文件 test.jpg ,访问时在其后加 /.php ,便可以把 "test.jpg/.php" 交给 php , php 修理文件路径 "test.jpg/.php" 得到 ”test.jpg" ,该文件存在,便把该文件作为 php 程序执行了。
Apache 是世界使用排名第一的Web 服务器软件。它可以运行在几乎所有广泛使用的 计算机平台上,由于其 跨平台 和安全性被广泛使用,是最流行的Web服务器端软件之一。它快速、可靠并且可通过简单的API扩充,将 Perl/ Python等 解释器编译到服务器中。
1、 漏洞介绍及成因
Apache文件解析漏洞与用户的配置有密切关系,严格来说属于用户配置问题。
Apache文件解析漏洞涉及到一个解析文件的特性:
Apache默认一个文件可以有多个以点分隔的后缀,当右边的后缀无法识别(不在mime.tyoes内),则继续向左识别,当我们请求这样一个文件:shell.xxx.yyy
yyy->无法识别,向左
xxx->无法识别,向左
php->发现后缀是php,交给php处理这个文件
1、 漏洞介绍及成因
由于配置错误导致的目录遍历
2、 漏洞复现
Nginx 是一款 轻量级的 Web 服务器、 反向代理 服务器及 电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。其特点是占有内存少, 并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好
1、 漏洞介绍及成因
对任意文件名,在后面添加/任意文件名.php的解析漏洞,比如原本文件名是test.jpg,可以添加test.jpg/x.php进行解析攻击。
2、 漏洞复现
在网站根目录下新建一个i.gif的文件,在里面写入phpinfo()
在浏览器中打开
利用文件解析漏洞,输入192.168.139.129:100/i.gif.2.php,发现无法解析
将/etc/php5/fpm/pool.d/www.conf中security.limit_extensions = .php中的.php删除
1、 漏洞简介及成因
Nginx的目录遍历与Apache一样,属于配置方面的问题,错误的配置可到导致目录遍历与源码泄露‘
2、 漏洞复现
打开test目录,发现无法打开
修改/etc/nginx/sites-avaliable/default,在如下图所示的位置添加autoindex on
再次访问:
1、 漏洞简介及成因
CRLF时“回车+换行”(\r\n)的简称。
HTTP Header与HTTP Body时用两个CRLF分隔的,浏览器根据两个CRLF来取出HTTP内容并显示出来。
通过控制HTTP消息头中的字符,注入一些恶意的换行,就能注入一些会话cookie或者html代码,由于Nginx配置不正确,导致注入的代码会被执行。
2、 漏洞复现
访问页面,抓包
请求加上/%0d%0a%0d%0a
1、 漏洞简介及成因
Nginx反向代理,静态文件存储在/home/下,而访问时需要在url中输入files,配置文件中/files没有用/闭合,导致可以穿越至上层目录。
2、 漏洞复现
访问:http://192.168.139.128:8081/files/
访问:http://192.168.139.128:8081/files../
Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用 服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache 服务器,可利用它响应 HTML ( 标准通用标记语言下的一个应用)页面的访问请求。实际上Tomcat是Apache 服务器的扩展,但运行时它是独立运行的,所以当运行tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的。
1、 漏洞简介及成因
Tomcat 运行在Windows 主机上,且启用了 HTTP PUT 请求方法,可通过构造的攻击请求向服务器上传包含任意代码的 JSP 文件,造成任意代码执行。
影响版本: Apache Tomcat 7.0.0 – 7.0.81
2、 漏洞复现
配置漏洞,开启put方法可上传文件功能。
tomcat文件夹下的/conf/web.xml文件插入:
readonly
false
重启tomcat服务。
访问127.0.0.1:8080,burp抓包,send to Repeater,将请求方式改为PUT,创建一个122.jsp,并用%20转义空格字符。123.jsp内容为:
<%Runtime.getRuntime().exec(request.getParameter("cmd"));%>
返回201,说明创建成功。
访问127.0.0.1:8080/122.jsp?cmd=calc。
1、漏洞简介及成因
Tomcat 支持在后台部署war文件,可以直接将webshell部署到web目录下。
若后台管理页面存在弱口令,则可以通过爆破获取密码。
2、漏洞复现
Tomcat安装目录下conf里的tomcat-users.xml配置如下:
访问后台,登陆
上传一个war包,里面是jsp后门:
jBoss是一个基于J2EE的开发源代码的应用服务器。 JBoss代码遵循LGPL许可,可以在任何商业应用中免费使用。JBoss是一个管理EJB的容器和服务器,支持EJB1.1、EJB 2.0和EJB3的规范。但JBoss核心服务不包括支持servlet/JSP的WEB容器,一般与Tomcat或Jetty绑定使用。
1、 漏洞介绍及成因
Java序列化,简而言之就是把java对象转化为字节序列的过程。而反序列话则是再把字节序列恢复为java对象的过程,然而就在这一转一变得过程中,程序员的过滤不严格,就可以导致恶意构造的代码的实现。
2、 漏洞复现
靶机启动jboss。
攻击机访问靶机服务:
访问/invoker/readonly。
返回500,说明页面存在,此页面有反序列化漏洞:
改包。
POST payload.bin中数据。
1、 漏洞介绍及成因
jBoss后台管理页面存在弱口令,通过爆破获得账号密码。登陆后台上传包含后门的war包。
2、 漏洞复现
选择一个war包上传,上传后,进入该war包,点击start。
访问该war包页面,进入后门。
可进行文件管理和系统命令执行。
WebLogic是美国Oracle公司出品的一个applicationserver,确切的说是一个基于JAVAEE架构的中间件,WebLogic是用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用的Java应用服务器。将Java的动态功能和Java Enterprise标准的安全性引入大型网络应用的开发、集成、部署和管理之中。
1、 漏洞简介及成因
Java序列化,简而言之就是把java对象转化为字节序列的过程。而反序列话则是再把字节序列恢复为java对象的过程,然而就在这一转一变得过程中,程序员的过滤不严格,就可以导致恶意构造的代码的实现。
2、漏洞复现
使用vulhub实验环境,启动实验环境,访问靶机,抓包,修改数据包。
Kali启动监听。
1、 漏洞简介及成因
通过访问config.do配置页面,先更改Work Home工作目录,用有效的已部署的Web应用目录替换默认的存储JKS Keystores文件的目录,之后使用"添加Keystore设置"的功能,可上传恶意的JSP脚本文件。
2、 漏洞复现
访问http://192.168.139.129:7001/ws_utc/config.do。
设置Work Home Dir为`/u01/oracle/user_projects/domains/base_domain/servers/AdminServer/tmp/_WL_internal/com.oracle.webservices.wls.ws-testclient-app-wls/4mcj4y/war/css`。
然后点击安全 -> 增加,然后上传 webshell ,这里我上传一个 jsp 大马。
上传后,查看返回的数据包,其中有时间戳:
可以看到时间戳为1543145154632。
访问http://192.168.139.129:7001/ws_utc/css/config/keystore/1543145154632_lele.jsp。
1、 漏洞简介及成因
由于WebLogic后台存在弱口令,可直接登陆后台上传包含后门的war包。
2、 漏洞复现
访问http://192.168.139.129:7001/console
使用弱口令登陆至后台。
点击上传文件 -- 进入文件上传界面,选择要上传的 war 包。
进入下一步,选择对应的 war 包进行部署,下一步下一步直至完成。