upload靶场第十四关 字节标识绕过

源码分析

首先第一行是以只读状态下以二进制方式打开文件

第二行是只读文件中的前两个字节

以第三行代码为例,如果文件的前两个字节经过十进制编码后是255216的话,那么文件类型就是jpg。下面同理,13780是png格式,7173是gif格式。

最后通过文件类型来决定是否能成功上传。

那么我们的思路就是修改文件的前两个字节进行绕过。

(此图为转载)

前期背景准备

注:这次实验我使用到了010 editor,可去官网进行下载。

首先将一句话木马转换为jpg格式,用记事本打开。在最前面输入两个占位,可以是空格或aa等,方便后面修改。

将木马文件用010 editor打开。右键→打开方式→editor

可以看到十六进制下的数据。如果不显示十六进制的话,点击view→edit as→hex。

可对文件开头的两个数据进行修改

尝试:如果此时将php类型的木马文件前两个字节改为白名单上的文件类型的话,upload靶场可成功上传文件,但网站按照修改字节后的文件类型进行解析,蚁剑不能成功连接。所以此时我们就要用到网页上的文件包含漏洞。

文件包含漏洞

$file = $_GET['file']通过get请求获得file请求中的内容

下面一行的if判断语句,如果文件内有数据就包含它,else没有数据就展示这个文件包含漏洞的源码。

它并没有对文件的内容进行过滤,且这个漏洞会将文件以php类型执行,所以可以利用该漏洞上传一句话木马。

实验过程

将木马文件用010 editor打开,我以jpg格式为例,修改前两个字节,ctrl+c保存后上传到upload靶场。

可成功上传。右键→新标签页打开图像。

复制后半部分url

打开文件包含漏洞,对木马文件进行包含。(可以使用phpstudy查看网站根目录,上一步上传的文件在upload文件夹之下,文件包含漏洞源码包含的是upload文件的上级目录,所以这里要用到./代表该级目录的下一级)

最后使用蚁剑连接,可成功链接。png和gif格式的同理可完成实验。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值