您现在的位置是:休闲 >>正文
禁上传文件的后缀名
休闲134人已围观
简介上周帮一个做HR的朋友整理校招简历,她收到一份PDF,打开后电脑直接卡死。IT部门查了半天,结论是文件里嵌了一个带宏的Excel对象,触发了解析器漏洞。后来他们公司内网就挂出一条规则:禁止上传.xls ...
上周帮一个做HR的禁上件朋友整理校招简历,她收到一份PDF,传文打开后电脑直接卡死。后缀IT部门查了半天,禁上件结论是传文文件里嵌了一个带宏的Excel对象,触发了解析器漏洞。后缀后来他们公司内网就挂出一条规则:禁止上传.xlsm、禁上件.docm、传文.pptm这类带宏的后缀Office文件。这条规则看起来粗暴,禁上件但确实管用。传文
文件后缀名这东西,后缀普通人当它是禁上件格式标签,搞安全的传文当它是第一道过滤网。Web应用里但凡有上传功能,后缀后端几乎都会维护一份黑名单或白名单。黑名单常见的有:.php、.jsp、.asp、.aspx、.exe、.sh、.bat。这些后缀一旦被解析执行,服务器就可能变成别人的肉鸡。我见过一个老旧的CMS,上传目录没做脚本禁用,攻击者传了个.php文件,里面就一行system($_GET['c']);,整台机器就交代了。
但黑名单有个经典漏洞:大小写和特殊后缀。比如.pHp、.php5、.phtml,甚至.php.(Windows下末尾点会被忽略)。有些中间件还认.php%00.jpg这种截断。所以真正靠谱的做法是白名单——只允许.jpg、.png、.pdf、.docx这些明确安全的格式。可白名单也有代价,业务部门会跑来问:为什么我的.heic传不了?为什么.zip被拦了?
我自己的服务器上,上传目录是独立分区,挂载时加了noexec。后缀名过滤只做第一层,后面还有MIME类型校验、文件头魔数检查、重命名存储。比如你传一个.jpg,但文件头是MZ(Windows可执行文件标志),直接丢弃。这招能挡住大部分改后缀的雕虫小技。
有个做在线教育的朋友踩过坑。他们允许老师上传.svg当课件插图,结果有人传了个带<script>的SVG,学生点开就中招。SVG本质是XML,能嵌JS,很多安全清单里它算“可执行”格式。后来他们把.svg也拉黑了,改用.png或.webp。
另一个容易忽略的是.htaccess。Apache环境下,攻击者上传这个文件,就能让服务器把.jpg当PHP解析。所以上传目录必须关掉AllowOverride。Nginx用户也别笑,.user.ini有类似效果。这些后缀名不在常规黑名单里,但杀伤力一点不小。
说回开头那个HR朋友。他们后来加了一条:所有简历先转成纯文本再入库,原始文件扔进对象存储,只给下载链接,且下载时强制Content-Disposition: attachment。这样即使文件带毒,也不会在浏览器里直接渲染。后缀名过滤只是起点,后面还有很长的链条。但起点没做好,后面全白搭。
如果你在维护上传功能,别只盯着.php。把.jspx、.cgi、.pl、.py、.rb、.war、.jar都过一遍。还有.lnk、.url、.scf这些Windows快捷方式,钓鱼常用。最后,记得把.htaccess和.user.ini也写进拒绝列表。别问为什么,照做就行。
Tags:
上一篇:qq账号强制解冻网站
下一篇:中国公民在菲被捕
相关文章
海口市人口净流入趋势
休闲海口东站出站口,下午五点半。拉客的摩的师傅比三年前明显少了,取而代之的是网约车司机举着手机,嘴里念叨着“又来了个岛外人”。我站在那儿十分钟,听到的普通话比海南话多得多——这就是海口,一个正在被新移民改 ...
【休闲】
阅读更多网页需要付费才能看怎么破解
休闲网页付费墙背后的技术逻辑,多数时候比你想的简单。它不是银行金库,更像超市门口挂的帘子——挡君子不挡小人。我见过太多人一碰到“付费才能看”就急得跳脚,其实破解思路就三条:绕、偷、借。 绕,最直接。很多网 ...
【休闲】
阅读更多宇宙的秘密纪录片下载
休闲《宇宙的秘密纪录片下载》这个标题,我是在一个凌晨三点还亮着屏幕的网吧里看到的。那会儿网吧的电脑桌面上堆满了各种盗版电影和游戏,但那个文件夹的名字却意外地干净,像是一堆垃圾里突然出现的一块磁铁。我点开它 ...
【休闲】
阅读更多