网站集约化建设探讨广告制作与设计专业
news/
2025/9/26 1:34:16/
文章来源:
网站集约化建设探讨,广告制作与设计专业,网站设计西安学习,北京 建设工程 质监站网站文章目录 1. Unsafe Filedownload1.1 Unsafe Filedownload1.1.1 源代码分析1.1.2 漏洞防御 1.2 不安全的文件下载防御措施 1. Unsafe Filedownload
不安全的文件下载概述#xff1a;
文件下载功能在很多web系统上都会出现#xff0c;一般我们当点击下载链接#xff0c;便会… 文章目录 1. Unsafe Filedownload1.1 Unsafe Filedownload1.1.1 源代码分析1.1.2 漏洞防御 1.2 不安全的文件下载防御措施 1. Unsafe Filedownload
不安全的文件下载概述
文件下载功能在很多web系统上都会出现一般我们当点击下载链接便会向后台发送一个下载请求一般这个请求会包含一个需要下载的文件名称后台在收到请求后会开始执行下载代码将该文件名对应的文件response给浏览器从而完成下载。如果后台在收到请求的文件名后将其直接拼接到下载文件的路径中而不对其进行安全判断的话则可能会引发不安全的文件下载漏洞。
此时如果攻击者提交的不是一个程序预期的的文件名而是一个精心构造的路径(比如…/…/…/etc/passwd)则很有可能会直接将该指定的文件下载下来。 从而导致后台敏感信息(密码文件、源代码等)被下载。
漏洞原理
给用户提供了一个下载的功能并能接收相关的参数变量开发时候使用了读去文件的相关函数对前端用户读取文件请求没有进行相应的控制或控制不严限制、校验能输出请求文件的内容提供给前端下载。
漏洞危害
可以下载服务器的任意文件
获得网站web源码再对代码进行审计以获得更多的漏洞获得网站、服务器、系统、数据库等中间件配置文件获得应用于系统配置文件对内网的信息进行一个探测下载各种.log文件并寻找后台地址、文件上传点等地方
漏洞发现 通过web漏洞扫描工具对网站实施扫描可能发现任意文件读取/下载漏洞发送一系列”…/”字符来遍历高层目录并且尝试找到系统的配置文件或者系统中存在的敏感文件。 也可通过判断网站语言并根据其url中部分提供的参数进行构造相关的路径信息。
1.1 Unsafe Filedownload
点击球员下面的名字然后图片就下载下来了。 复制图片的下载路径
http://127.0.0.1/pikachu/vul/unsafedownload/execdownload.php?filenamekb.png先构造一个假的管理员文件 然后构造playload
http://127.0.0.1/pikachu/vul/unsafedownload/execdownload.php?filename../../../../admin.txt一个../就是跳出一级目录到上一级目录下../../../../表示向上跳三级目录。
在浏览器页面中输入该路径admin.txt文件就被下载下来了 注意如果用绝对路径例如 http://192.168.188.183/pikachu/vul/unsafedownload/execdownload.php?filenameC:\Windows\System32\drivers\etc\hosts无法成功。
1.1.1 源代码分析 发现在第10行的位置上传递的参数前面拼接了download目录这样就导致我们在输入绝对路径的时候无法进行下载文件了。
如果将前面拼接的download目录去掉绝对路径就可以成功。 hosts文件下载成功。 不安全的文件下载漏洞的原因是服务器代码没有对输入的filename进行过滤只是检查了以下文件是否存在如果存在就下载了。
1.1.2 漏洞防御
添加一个白名单过滤让其只允许下载download文件夹下的图片资源。
修改源码
由于图片太多这里选用一个图片做实例。
if(!file_exists($file_path) || $file_path ! download/ai.png){skip(你要下载的文件不存在请重新下载, unsafe_down.php);return ;
}输入之前构造的payload
http://127.0.0.1/pikachu/vul/unsafedownload/execdownload.php?filename../../../../admin.txt发现下载失败成功防御 1.2 不安全的文件下载防御措施
净化数据对用户传过来的文件名参数进行统一编码对文件类型进行白名单控制对包含恶意字符或者空字符的参数进行拒绝。任意文件下载漏洞也有可能是web所采用的中间件的版本低而导致问题的产生。要下载的文件地址保存至数据库中让用户提交文件对应ID下载文件。用户下载文件之前需要进行权限判断。文件放在web无法直接访问的目录下。将.过滤不允许提供目录遍历服务。公开文件可放置在web应用程序下载目录中通过链接进行下载。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/917763.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!