搜索

iis上传文件目录的安全设置

发表于 2026-10-17 05:59:56 来源:烟消火灭网

IIS服务器上,上设置上传目录往往是传文整个网站最薄弱的环节。攻击者最喜欢往里扔个ASPX一句话木马,安全然后直接拿到服务器权限。上设置这事儿我见过太多次了——某客户网站被黑,传文排查下来,安全问题就出在文件上传目录允许执行脚本。上设置

核心原则就一条:上传目录只该存文件,传文绝不该跑代码。安全但很多管理员嫌麻烦,上设置或者根本不知道IIS的传文“处理程序映射”能按目录单独控制,结果整个站点都能执行ASPX,安全上传目录自然也跟着遭殃。上设置

具体怎么弄?传文打开IIS管理器,找到你的安全上传目录(比如/uploads),双击“处理程序映射”,右侧操作栏点“编辑功能权限”,把“脚本”和“执行”的勾全部去掉,只留“读取”。这等于告诉IIS:这个目录里的文件只能下载,别想当程序跑。

光改权限还不够,得防着某些文件类型钻空子。有人上传个.asp;.jpg或者.aspx%00.jpg,IIS老版本可能就解析成脚本了。所以还得在“请求筛选”里,把危险扩展名直接封死。双击“请求筛选”功能,切到“文件扩展名”标签页,右键“拒绝扩展名”,把.asp、.aspx、.ashx、.asmx、.php、.jsp这些全加进去。注意,这是针对上传目录的单独配置,不会影响全站其他正常脚本的运行。

还有个坑,很多人忽略——上传目录的写入权限。既然用户能传文件,那目录本身必然允许写入。但写入和“修改”是两回事。在文件系统层面,给上传目录只分配“读取”和“写入”权限,千万别给“修改”权限。否则攻击者上传个文件后,再利用其他漏洞把已有的合法文件替换成恶意脚本,那前面全白干了。右键上传目录,属性→安全→高级,把“修改”勾掉,只留“读取和执行”、“写入”。

另外,别把上传目录放在应用程序根目录下。很多站点把uploads直接建在C:\inetpub\wwwroot\mysite\uploads,这个目录默认继承了父级应用程序域。最稳妥的做法是,把上传目录挪到站点根目录之外,比如D:\files\uploads,然后在IIS里给这个外部目录建一个虚拟目录,同时取消它的脚本执行权限。这样就算攻击者上传了恶意文件,IIS连解析它的入口都没有。

有一次我帮一个客户做安全加固,发现他们上传目录居然允许.exe下载,这倒没啥,但目录里躺着一个test.aspx文件,看时间戳是三个月前的。一问,是开发测试时传的,忘了删。就这么个文件,足以让攻击者直接getshell。所以,定期扫一遍上传目录,把非图片、非文档的可执行文件全删了,这活儿不复杂,但真有人懒得做。

最后说个细节——上传文件的内容校验别只靠扩展名。攻击者把恶意代码藏在图片的EXIF里,或者拼在文件尾部,照样能骗过某些上传组件。IIS层面能做的有限,但至少把上传目录的“脚本源访问”权限关掉。在IIS管理器里,选中上传目录,双击“身份验证”,确保“匿名身份验证”启用,但“Windows身份验证”的“内核模式”别开,省的出幺蛾子。

这套配置做完,再拿个ASPX马试试传上去,访问它,返回404或者直接下载,那就对了。安全这玩意儿,不追求绝对,但至少把最常规的入口堵死。攻击者一看这目录不解析脚本,大概率转头找别的软柿子捏。

随机为您推荐
友情链接
版权声明:本站资源均来自互联网,如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

Copyright © 2016 Powered by iis上传文件目录的安全设置,烟消火灭网   sitemap

回顶部