文件上传漏洞黑名单绕过

一、黑名单过滤不全

由于开发人员相关知识或安全意识的欠缺,导致设置的黑名单不全。这时我们就可以通过其他可解析后缀来绕过黑名单上传可执行的webshell。在实际环境中我们可以将所有的可解析后缀测试一遍,若可以上传并且成功解析,则说明黑名单不全。

二、.htaccess文件绕过

.htaccess是什么?全称是Hypertext Access(超文本入口) .htaccess文件也被成为分布式配置文件,提供了针对目录改变配置的方法,在一个特定的文档目录中放置一个包含一个或多个指令的文件, 以作用于此目录及其所有子目录。

简单来说,我们如果上传了 .htaccess 这样一个配置文件到了upload目录里,那么这个文件里的一些可以人为操作的指令就可以控制upload这个目录以及子目录的一些功能。

首先,新建一个.htaccess的文件,在文件中写入AddType application/x-httpd-php .jpg ,这个指令的作用是将 .jpg的文件改为 .php

然后我们就可以先上传一个.jpg的图片马,然后再上传.htaccess的文件,然后在有.htaccess的文件夹内.jpg就会被解析为.php的文件,然后上传的图片马就可以发挥作用了

三、黑名单大小写过滤不全

利用其过滤的不严谨性,没有顾及到后缀的大小写检测,以及windows对大小写不敏感,从而简单的绕过,例如抓包后将.php换成.Php

四、文件后缀(空格)绕过

如果黑名单中有.php,可以抓包修改后缀为.php ,上传成功后会自动将最后的空格省略。

五、文件后缀(点)绕过

和上一条类似,抓包将后缀修改为.php.,上传成功后利用windows的特性会自动省略最后的点。

六、windows文件流绕过::$DATA

这里利用到了NTFS交换数据流(ADS),ADS是NTFS磁盘格式的一个特性,在NTFS文件系统下,每个文件都可以存在多个数据流。NTFS储存数据流的一个属性,这样我们去访问的时候,我们请求的会被它认为是 phpinfo.php 本身的数据。

抓包后修改文件后缀::$DATA,即可绕过。

七、点空格点绕过

在数据包中包后缀名改为.php. .它的验证过程是先去掉最后的点,然后去掉空格,这样还剩下.php.由于它只验证一次,所以不会去掉第二个点,这样就会上传成功。

八、双写绕过

有时会直接检测你上传的文件,如果你上传了上面规定的文件,他会把你的后缀名去掉,但是他只会过滤一次,这时我们可以用双写进行绕过,只要写两个php就行了,pphphp将php过滤后还剩下php,即可上传成功。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值