文件上传漏洞进阶

1、文件上传之黑白名单

(1)基于文件后缀名验证介绍

        对于文件上传模块来说,尽量避免上传可执行的脚本文件。为了防止上传脚本需要

        设置对应的验证方式。

基于文件后缀名验证方式分类:

        1、基于白名单验证:只针对白名单中有的后缀名,文件才能上传成功。

        2、基于黑名单验证:只针对黑名单中没有的后缀名,文件才能上传成功。

2、黑名单之扩展名

.php

由于历史原因,部分解释器可能支持符合正则/ph(p[2-7]?|t(ml)?)/的后缀,如php/php5/pht

/phtml/shtml/pwml/phtm等,可在禁止上传php文件时测试该类型。

.jsp

引擎则可能会解析jspx/jspf/jspa/jsw/jsv/jtml等后缀,asp支持asa/asax/cer/cdx/aspx/ascx/

ashx/asmx/asp{80~90}等后缀。

其他

同样可能带来问题,如vbs/asis/sh/reg/cgi/exe/dll/com/bat/pl/cfc/cfm/ini等

3、黑名单之大小写绕过

windows系统下:

        对于文件名中的大小写不敏感,例如:test.php和TeSt.pHp是一样的。

linux系统下:对于文件名中的大小写敏感。例如test.php和TesT.Php就是不一样的。

此时可以通过修改文件后缀,使用大小写混合的写法绕过缺少了对上传文件名获取的大小写

转换的黑名单验证(仅限windows)。

4、白名单之00截断

00截断的前提是路径可控

        GET传参时:使用%00截断路径

        POST传参时:使用00截断路径

注意:PHP版本<5.3.4才可以进行00截断

magic_quotes_gpc=Off(详情看此链接)

6、白名单之内容绕过

7、竞争条件攻击

有的服务器采用了先保存,在删除的不合法文件的方式,在这种服务器中,可以反复上传一个

会生成web shell的文件并尝试访问,多次之后即可获得shell

8、解析漏洞

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值