文件上传漏洞绕过姿势(二)

前言

一、大小写绕过

二、空格或者“.”绕过

三、 ::$DATA绕过

四、双后缀名绕过

五、白名单绕过 %00

%00截断原理

%00截断GET用法:

%00截断POST用法

总结



一、大小写绕过

根据操作系统的特性,这就不在细讲:

".php"可以替换为“.PHp”等等


二、空格或者“.”绕过

需要用bp去修改数据包,因为系统特性并不会去除所以最后还是所上传脚本的格式

.php.

三、 ::$DATA绕过

必须是Windows系统,必须是php环境,必须是那个源文件

原理:php在windows系统的时候如果文件名+“::$DATA”会把该词之后的数据当成文件流处理不会检测文件后缀名

例如: shell.php --  shell.php::$DATA

四、双后缀名绕过

在进行上传的时候有的情况会将字符串里的php替换为空

一次过滤:shell.php -- shell.phpphp

五、白名单绕过 %00

在某些情况下直接在文件名处截断是没用的,因为%00会被解析,只有在数据包中含有文件上传目录时才能利用

%00截断原理

www.xxx.com/shell.jpg

www.xxx.com/shell.php%00.jpg => www.xxx.com/shell.php

%00截断GET用法:

%00截断:php5.3版本以下GET提交不需要解码,直接在get文件目录处截断

%00截断POST用法

当是POST接收情况的时候,正确的用法应该是我们需要对 %00 做一个URL解码

为什么两者用法不同

这是因为 %00 截断在 GET 中被 url 解码之后是空字符。但是在 POST 中 %00 不会被 url 解码,所以只能通过 burpsuite 修改 hex 值为 00 进行截断


总结




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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我像一条狗

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值