文件下载漏洞
概述
文件下载功能在很多web系统上都会出现,一般我们当点击下载链接,便会向后台发送一个下载请求,一般这个请求会包含一个需要下载的文件名称,后台在收到请求后 会开始执行下载代码,将该文件名对应的文件response给浏览器,从而完成下载。 如果后台在收到请求的文件名后,将其直接拼进下载文件的路径中而不对其进行安全判断的话,则可能会引发不安全的文件下载漏洞。
此时如果 攻击者提交的不是一个程序预期的的文件名,而是一个精心构造的路径(比如../../../etc/passwd),则很有可能会直接将该指定的文件下载下来。 从而导致后台敏感信息(密码文件、源代码等)被下载。
所以,在设计文件下载功能时,如果下载的目标文件是由前端传进来的,则一定要对传进来的文件进行安全考虑。 切记:所有与前端交互的数据都是不安全的,不能掉以轻心!
后端代码
1 |
$file_path = "downlod/{$_GET['filename']}"; |
防范
- 对传入的文件名进行严格的过滤和限定(黑名单)
- 对能下载的目录进行限定(白名单)
注意
以上资料仅作信息防御技术使用,不得随意尝试,如有尝试,作者概不负责。
学习内容来源于pikachu。
FROM :https://ailumao.cn/ | Author:Ailumao
近来由于某种原因xxx自己用docker搭建一个wordpress环境。把各个坑都踩了遍。这里记录一下。 新手上路,大佬勿喷。 这里我是win下本地搭好了然后导出数据库放docker里面导入sql文件起服务的。 一、docker部署的任意端口后一直跳转80 因…
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论