安全入门之文件操作2

一、简单的文件上传实例

二、绕过内容检查

  • 内容检查就是对用户上传的文件的文件内容进行分析,查看该文件是否符合上传规范。例如用户上传了一个php文件,程序在检查该php文件内容时没有找到符合规范的文件内容那么就不允许该文件的上传(如文件头等)。
  • 对于这样的检查,我们可以使用抓包工具来修改上传文件的文件头实现绕过,例如:
    下图为我们想要上传的文件,文件的内容是一句话木马。如果存在对文件内容的检查,因为该文件的文件内容不存在规范的文件头,所以一般是无法上传成功的。
    在这里插入图片描述
    但其实我们只要在文件内容的开始位置加上文件头即可绕过该限制(不同文件类型有不同的文件头,可自行百度),如下。
    在这里插入图片描述

三、绕过白名单限制

(1) 白名单限制就是只允许上传某一种或某几种后缀、类型等的文件。

  • 例如下面限制文件类型的一段代码:
    在这里插入图片描述
  • 对于文件类型的限制,我们只需要修改文件包中的Content-Type项即可。
    在这里插入图片描述d

(2)对于文件后缀的白名单限制:

  • 这类的限制方式是比较复杂的,不同的检测方式有不同的处理方法。
  • 例如直接对上传文件名进行拼接,并使用GET传递参数的限制。
    在这里插入图片描述
    -在PHP小于5.3.4且php-ini配置文件中magic_quotes_gpc打开是,我可以使用%00截断的方式绕过。在这里插入图片描述
  • 第二种使用POST方式传递参数的限制:
    在这里插入图片描述
    这种方式需要在二进制文件中进行修改,因为post不会像get那样对%00进行自动解码。
    在这里插入图片描述
    使用工具,如果是burp suite则点击hex按钮,找到对应位置并修改(可以在上图的php之后添加空格,然后在下图中找到空格位置20,把它修改为00)。
    在这里插入图片描述

四、绕过黑名单限制

  • 黑名单限制就是不允许某一种或几种文件后缀、类型等的文件进行上传。

  • 若没有将后缀进行大小写统一的限制,则可以通过改变大小写的方式进行绕过。即将php修改为Php等行为。

  • 若没有对文件后缀名进行去空格处理,则可以通过在文件后缀名后加入空格进行绕过。

  • 若没有对文件后缀名进行去“.”处理,则可以通过在文件名后加“.”,利用Windows系统的文件名特性,自动去掉后缀名最后的“.”

  • 若没有对文件后缀名进行去::$DATA处理,那么可以通过在文件名后加::$DATA,利用Windows下NTFS文件系统的一个特性,即NTFS文件系统存储数据流的一个属性$DATA,当我们访问aa.asp::$DATA时,就是请求aa.asp本身的数据。

  • 若只进行了末尾去“.”和末尾去空格的操作,则可以构造点+空格+点的后缀格式进行绕过。例如:sdm.php. .

  • 若是对黑名单限制的后缀名替换为空格,则可以通过双写后缀名的形式进行绕过。例如:sdm.phphpp

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值