CTFHub之文件上传

MIME绕过

知识点

MIME((Multipurpose Internet Mail Extensions)多用途互联网邮件扩展类型。是设定某种扩展名的文件用一种应用程序来打开的方式类型,当该扩展名文件被访问的时候,浏览器会自动使用指定应用程序来打开。多用于指定一些客户端自定义的文件名,以及一些媒体文件打开方式每个MIME类型由两部分组成,前面是数据的大类别,例如声音 audio、图象 Image等,后面定义具体的种类,也就是我们抓包时常见的Content-Type

常见的MIME类型,例如:

  • 超文本标记语言文本 .html,html text/htm
  • 普通文本 .txt text/plain
  • RTF文本. rtf application/rtf
  • GIF图形 .gif image/gif
  • JPEG图形 . jpg image/jpeg
方法

那绕过MIME我们就很容易能想到在上传时抓包修改Content-Type

  1. 写一个一句话木马,上传后抓包
    在这里插入图片描述
  2. 修改Content-Type为image/png,forward后
  3. 利用蚁剑连接

    找到flag
    <?php // ctfhub{3e8084f5367c5ed209592e19}

00截断

知识点

关于上传中的00截断分析
最主要的原因还是在url中%00表示ascll码中的0 ,而ascii中0作为特殊字符保留,表示字符串结束,所以当url中出现%00时就会认为读取已结束

方法
  1. 上传一个1.php.jpg文件,抓包,在路径后添加1.php%00.jpg后forward

在这里插入图片描述

2.利用蚁剑在这里插入图片描述
找到flag
在这里插入图片描述

双写后缀

仍然是上传抓包
在这里插入图片描述
直接尝试双写php
在这里插入图片描述
尝试连接
在这里插入图片描述
找到flag
在这里插入图片描述

文件头检查

将一句话木马放到图片中,上传抓包

在这里插入图片描述
文件名修改为3.php(如果上传了php文件就修改Content-Type为image/png)
在这里插入图片描述
这里我看网上大多都可以连接上(我没连上),所以我只能这样搞,既然检查文件头,那将png图片的文件头加上不就好了吗?找一张png图片
在这里插入图片描述
复制放到php中
在这里插入图片描述
上传抓包,修改文件名为1.php
在这里插入图片描述
利用蚁剑连接
在这里插入图片描述
找到flag
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值