web漏洞“小迪安全课堂笔记”文件操作安全,文件上传

思维导图

在这里插入图片描述

利用思路

在这里插入图片描述

什么是文件上传漏洞?

指程序对文件的上传未作全面的限制,导致用户可以上传一些超越用户权限的一些文件,可以是木马,shell脚本,病毒等。

文件上传漏洞有哪些危害?

可以通过文件上传漏洞上传webshell后门。

文件上传漏洞如何查找及判断?

黑盒: 使用扫描工具扫描打开网站。
黑盒:测试会员中心,测试后台。
白盒:直接撸源代码。

文件上传漏洞有哪些需要注意的地方?

拿到漏洞后要对漏洞类型进行区分,编辑器、第三方应用、常规等。区分漏洞类型。

关于文件上传漏洞在实际应用中的说明?

上传后门脚本获取网站权限

案例

1、常规文件上传地址的获取说明:上传的文件要执行的话,要按照对应代码执行。
2、不同格式下的文件类型后门测试
3、配合*解析漏洞(php1.x)*下的文件类型后门测试本地文件:上传+解析漏洞=高危漏洞。
4、上传漏洞靶场环境搭建,测试某CMS及CVE编号文件上传漏洞测试:这种第三方插件的漏洞测试和常规漏洞测试是不一样的。

前端验证

前端验证浏览器可直接禁用或删除,后端是安全的
1、将前端下载到本地。
2、删除过滤代码。
3、增添或修改action,修改为上传的源文件。
在这里插入图片描述

后端

后缀名:黑名单

明确禁止上传的格式:asp,php,jsp,aspx,cgi,war。
若黑名单中没有定义或管理员配置文件问题,php5,Phtml可通过这两种格式绕过。

.htaccess文件上传漏洞

.htaccess文件上传漏洞原理及实例

空格绕过

windows系统在命名时末尾加空格,会默认去掉。可通过改包加空格绕过。

点绕过

windows系统在命名时末尾加点,会默认去掉。可通过改包加点绕过。

::$DATA

【文件上传绕过】八、::$DATA上传绕过

源码过滤

简单过滤,
循环过滤,递归过滤更安全

后缀名:白名单(比黑名单安全)

明确可以上传的格式:jpg,png,zip,rar,gif…

%00截断

地址get
在这里插入图片描述
%00相当于把后面的截断掉了,get会自动解码为截断符号,无需编码
post在这里插入图片描述
修改,并url编码,post不会自动解码所以需要url编码为截断符号
此url编码不是文本文件%00的url编码

0x00

文件类型——MIME

报文中Content-Type,可截包修改实行欺骗

文件包含漏洞

内容及其他

文件头

可抓包修改
在这里插入图片描述

逻辑安全:二次渲染

情景:例如上传图片到服务器后,有二次操作,对图片删除修改和保存。
——简单来说就是在上传时,代码中分为两步。
先上传服务器,在验证文件格式。——不安全
先验证文件格式,在上传服务器。——安全

逻辑安全:条件竞争

例:一个文件正在使用时,无法修改或删除。
在二次渲染中,先上传服务器,在进行验证(改名)。可通过工具不断刷新此文件,进行条件竞争。

数组接受+重命名

CVE——搭建平台中间件

解析漏洞

解析漏洞
在这里插入图片描述

iis6.0

在这里插入图片描述

apache

低版本2.x解析漏洞——黑名单

Apache默认一个文件可以有多个以点分割的后缀,当最右边的后缀无法识别(不在 默 mime.types文件内),则继续向左识别,直到识别到合法后缀才进行解析。
可以上传一个不识别的文件后缀,利用漏洞规则成功解析文件,其中后门代码被触发,例:x.php.yyy

配置文件 解析漏洞
apache换行解析漏洞——黑名单——vulhub

nginx

nginx文件解析漏洞——vulhub
nginx文件名逻辑漏洞——vulhub

编辑器安全

在扫描到网站编辑器目录信息时,可利用编辑器漏洞。——在线提交脚本。

Fckeditor exp利用

ueditor 漏洞利用

在这里插入图片描述

CMS文件上传

通达OA系统漏洞

在这里插入图片描述

信息收集_中间件,cms,编辑器

字典爆破
会员中心

WAF绕过

上传参数名解析: 明确哪些东西能修改?

Content-Disposition:一般可更改
name:表单参数值,不能更改
==filename:文件名,可以更改 ==
Content-Type:文件MIME,视情况更改

常见绕过方法

原始包:upload pass02 安全狗
在这里插入图片描述

数据溢出——防匹配(xxx…)

在这里插入图片描述

符号变异——防匹配(’ " 😉

猜测waf匹配规则,尝试绕过
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

数据截断——防匹配(%00 ; 换行)

在这里插入图片描述
在这里插入图片描述

重复数据——防匹配(参数多次)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

FUZZ字典

burp fuzz模糊测试
https://github.com/fuzzdb-project/fuzzdb
https://github.com/TheKingOfDuck/fuzzDicts

文件上传安全修复方案

后端验证:采用服务端验证模式后缀检测:
后缀检测:基于黑名单,白名单过滤M工ME检测:
MIME检测:基于上传自带类型检测
内容检测:文件头,完整性检测

自带函数过滤:参考uploadlabs函数——get_image_pointer1
自定义函数过滤:function check_file(){ }
WAF防护产品:宝塔,云盾,安全公司产品等

注释

有waf上传漏洞无法判定,
1、先绕过waf
2、进行漏洞判定

  • 1
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值