添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
首发于 边窗

文件上传的漏网之鱼

文件上传是Web系统中常见的功能,也是获取服务器权限的常见入口(就像航班上混入了KBFZ),通常情况下处理文件上传漏洞的办法是这么来搞:

文件类型识别(包括后缀、文件头);
文件类型白名单;
文件大小限制;
上传目录可执行权限限制;
上传文件重命名;

但在可以上传zip文件同时后台自动解压的情况下,上面的套路却套不住那些“跑马的汉子”。

Zip命令可以通过--symlinks参数创建软链接的压缩包:

--symlinks
For UNIX and VMS (V8.3 and later), store symbolic links as such in the zip archive, instead of compressing and storing the file referred to by the link. This can avoid multiple copies of files being included in the archive as zip recurses the directory trees and accesses files directly and by links.

有了这个特性,利用起来也非常简单。

先创建软连接到目标服务器已知的文件,比如系统文件:

ln -s /etc/passwd link

而后创建这个软链接的压缩包

zip --symlinks test.zip link

最后上传这个压缩包,自动解压后通过访问解压后的路径就可以看到目标服务器的文件内容了:

以上就是2014年11月Josip Franjković报告给Facebook的漏洞(本地文件读取漏洞),见: josipfranjkovic.blogspot.com

这个故事告诉我们: 当在使用一些已经非常普遍的工具、组件或系统时,它们本身尚未发现的安全问题并不意味着直接拿来用也没有问题。 就像用水浇灭着火的油锅:

发布于 2017-11-22 17:43

文章被以下专栏收录

    边窗

    安全、开发、创业、管理的随想录