任意文件上传下载漏洞
2021-12-07 18:31:50 9 举报
AI智能生成
无
作者其他创作
大纲/内容
一些网站由于业务需求,往往需要提供文件查看或文件下载功能,但若对用户查看或下载的文件不做限制,没有做文件过滤,或者是../过滤。则恶意用户就能够查看或下载任意敏感文件,这就是文件查看与下载漏洞。
下载漏洞
漏洞产生原因
download.php?path=down.php?file=data.php?file=
一般链接形式
&Src=&Inputfile=&Filepath=&Path=&Data=
参数链接形式
下载漏洞产生位置的链接形式
/root/.ssh/authorized_keys/root/.ssh/id_rsa/root/.ssh/id_ras.keystore/root/.ssh/known_hosts //记录每个访问计算机用户的公钥/etc/passwd/etc/shadow/etc/my.cnf //mysql配置文件/etc/httpd/conf/httpd.conf //apache配置文件/root/.bash_history //用户历史命令记录文件/root/.mysql_history //mysql历史命令记录文件/proc/mounts //记录系统挂载设备/porc/config.gz //内核配置文件/var/lib/mlocate/mlocate.db //全文件路径/porc/self/cmdline //当前进程的cmdline参数
漏洞常见可利用文件路径
(1)过滤\".\",使用户在url中不能回溯上级目录
(2)正则严格判断用户输入参数的格式
span style=\
漏洞防范
大多数网站都有文件上传的接口,但如果在后台开发时并没有对上传的文件进行安全考虑或采用了有缺陷的措施,导致攻击者可以通过一些手段绕过安全措施从而上传一些恶意文件,从而通过该恶意文件的访问来控制整个后台
首先观察到提示只允许上传图片文件,那么前端的查看代码,当页面发生改变时,会调用这个checkFileExt函数来检查上传的是不是图片,我们只需要在前端将checkFileExt函数删除,就能上传一个一个非图片文件
(javascript 检测)
1:客户端检测
1:上传特殊可解析后缀
2:上传.htaccess
3: 后缀大小写绕过
4: 点绕过
5:空格绕过
6: ::$DATA绕过
7: 配合解析漏洞
8: 双后缀绕过
黑名单
每个MIME类型由两部分组成,前面是数据的大类别,例如声音audio、图象image等,后面定义具体的种类。
常见的MIME类型(通用型):超文本标记语言文本 .html text/htmlxml文档 .xml text/xmlXHTML文档 .xhtml application/xhtml+xml普通文本 .txt text/plainRTF文本 .rtf application/rtfPDF文档 .pdf application/pdfMicrosoft Word文件 .word application/mswordPNG图像 .png image/pngGIF图形 .gif image/gifJPEG图形 font color=\"#388e3c\
MIME(Multipurpose Internet Mail Extensions)多用途互联网邮件扩展类型。是设定某种扩展名的文件用一种应用程序来打开的方式类型,当该扩展名文件被访问的时候,浏览器会自动使用指定应用程序来打开。多用于指定一些客户端自定义的文件名,以及一些媒体文件打开方式。
1: MIME 绕过
截断文件路径 a.php%00.jpg PHP版本小于5.3.4 magic_quotes_gpc 需要OFF
2:%00截断
截断文件名 利用burpsuite 的 hex 更改16进制信息 将 save_path 更改为 00
3: 0x00截断
截断文件
4: 0x0a截断
白名单
检查后缀
1: 文件头检查
语法格式 font color=\"#ff0000\
getimagesize() 函数用于获取图像大小及相关信息,成功返回一个数组,失败则返回 FALSE 并产生一条 E_WARNING 级的错误信息,如果用这个涵数来获取类型,从而判断是否是图片的话,会存在问题。
2: 突破getimagesize() 代码注入绕过
3: 突破exif_imagetype()
伪装方式: 方法一:直接伪造头部GIF89A方法二:CMD方法,copy /b test.png+1.php muma.png方法三:直接使用工具增加备注写入一句话木马。
4: 二次渲染
检查内容
条件竞争
其他
2:服务端检测
上传入侵upload-labs
子主题
上传漏洞
b style=\
AddHandler php5-script.php test2.php.jpg
AddType application/x-httpd-php.jpg( 即使扩展名是JPG一样能以PHP的方式执行)
上传文件.htaccess,如果没有被过滤 则该目录下任意文件都可以做为脚本执行
.htaccess
Apache (Apache是从右到左开始判断解析)
xxx.jpg%00.php (Nginx < 8.03 空字节代码执行漏洞)
/1.jpg/1.php
/1.jpg%00.php
开启fix_pathinfo (PHP会认为SCRIPT_FILENAME是phpinfo.jpg,而1.php是PATH_INFO,所以就会将phpinfo.jpg作为PHP文件来解析了)
Nginx
/XX.asp /xx.jpg 目录解析漏洞
xx.asp;.jpg
xx.asa xx.cer xx.cdx 黑名单过滤绕过
IIS5.X -IIS6.X
a.asp.a; aspx.jpg..jpg
/.php
IIS 7.5
IIS解析漏洞
中间件解析漏洞
分支主题
任意文件上传下载漏洞(安全配置错误)
0 条评论
回复 删除
下一页