文件操作漏洞包括文件上传漏洞,文件包含漏洞,文件下载漏洞。
文章目录
前言 什么是文件下载漏洞?
1.常见形式:
常见链接形式:
常见参数:
2.利用方式:
3.举例:pikachu不安全的文件下载
4.逆向:
5.防护策略:
总结
前言 什么是文件下载漏洞?
网站对用户查看和下载文件不做限制,使hacker可以利用利用这些文件进行提权操作,完全控制服务器,进而以服务器为跳板攻击网站其他系统,进一步扩大攻击范围。
1.常见形式:
常见链接形式:
download.php?path=down.php?file=data.php?file=download.php?filename=
常见参数:
&src=&inputfile=&path=&data=
通常情况下,在某网站上看见以上链接或参数,该网站极有可能具有文件下载漏洞。
2.利用方式:
1.下载常规的配置文件
2.下载各种.log文件
3.下载业务文件进行代码审计,找出漏洞进一步打下服务器
3.举例:pikachu不安全的文件下载
我们点击下载,
右击复制下载链接:
科比:http://pikachu-master/vul/unsafedownload/execdownload.php?filename=kb.png
其它同理。
艾伦:http://pikachu-master/vul/unsafedownload/execdownload.php?filename=ai.png
发现链接形式(execdownload.php?filename=)
与文件下载漏洞(download.php?filename=)相符。
证明我们可以在此构造url下载服务器/本地的任意文件。
服务器:对皮卡丘网站,它都服务器为搭建皮卡丘靶场的盘(我的是D盘)
本地:C盘。
分析:
url:http://pikachu-master/vul/unsafedownload/execdownload.php?filename=ai.png
对应D:\phpstudy_pro\WWW\pikachu-master\vul\unsafedownload\download
1.我们在pikachu-master/vul/unsafedownload/路径下添加一个图片a.png
返回靶场下载:
http://pikachu-master/vul/unsafedownload/execdownload.php?filename=ai.png
下载成功。
2. 我们在pikachu-master路径下添加一个图片a.png
返回靶场下载:
http://pikachu-master/vul/unsafedownload/execdownload.php?filename=../../../a.png
向上../返回三个目录
下载成功。
接着我们试试其它文件
http://pikachu-master/vul/unsafedownload/execdownload.php?filename=../../../.DS_Store
下载成功。
4.逆向:
通过改变download.php?filename=的路径我们可以下载/pikachu-master/vul/unsafedownload/三个目录中的任意文件。
5.防护策略:
严格的验证和过滤:只允许下载经过白名单列出的特定文件类型,这可以有效阻止用户下载私密文件。
随机文件名和存储路径:为上传和下载的文件生成随机的文件名和存储路径,以防止攻击者预测或猜测文件的存储位置。
使用防火墙:防火墙waf可以记录所有文件下载行为,进而阻止那些试图绕过正常访问控制或下载敏感文件的请求。
总结
文件上传漏洞是指hacker利用网站或web应用系统中用户上传文件的功能,在上传过程中上传恶意文件,这些恶意文件在服务器端被解析时产生漏洞,从而导致攻击者能够在服务器上执行任意代码的一种安全漏洞。