参考url: Web中间件常见漏洞总结 - FreeBuf互联网安全新媒体平台
(一) IIS
1、PUT漏洞
漏洞成因:当开启了WebDAV后,IIS中又配置了目录可写,便会产生很严重的问题
原理:IIS WebDAV安全配置
实例:https://blog.csdn.net/xy_sugar/article/details/86753727
IIS写权限漏洞 (HTTP PUT方法利用) - 北海悟空 - 博客园
漏洞修复:关闭WebDAV 和写权限
2、短文件名猜解
漏洞成因:IIS的短文件名机制,可以暴力猜解短文件名,访问构造的某个存在的短文件名,会返回404,访问构造的某个不存在的短文件名,返回400。
原理:访问构造的某个存在的短文件名,会返回404。 访问构造的某个不存在的短文件名,会返回400。
实例:IIS系统短文件名漏洞猜解过程 - danku - 博客园
漏洞修复:
1)升级.net framework
2)修改注册表禁用短文件名功能
快捷键Win+R打开命令窗口,输入regedit打开注册表窗口,找到路径:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem,将其中的
NtfsDisable8dot3NameCreation这一项的值设为 1,1代表不创建短文件名格式,修改完成后,需要重启系统生效
3)CMD关闭NTFS 8.3文件格式的支持
4)将web文件夹的内容拷贝到另一个位置,如c:\www到d:\w,然后删除原文件夹,再重命名d:\w到c:\www。
局限性:
1) 此漏洞只能确定前6个字符,如果后面的字符太长、包含特殊字符,很难猜解;
2) 如果文件名本身太短(无短文件名)也是无法猜解的;
3) 如果文件名前6位带空格,8.3格式的短文件名会补进,和真实文件名不匹配;
3、 远程代码执行
漏洞成因:在IIS6.0处理PROPFIND指令的时候,由于对url的长度没有进行有效的长度控制和检查,导致执行memcpy对虚拟路径进行构造的时候,引发栈溢出,从而导致远程代码执行。
实例:https://blog.csdn.net/darkhq/article/details/79127820
漏洞修复:
1)关闭 WebDAV 服务
2) 使用相关防护设备