【Web】ctfhub基础知识之文件上传

无限制

在这里插入图片描述

  1. 尝试上传1.php, 上传成功,出现了路径。
  2. 用antsword连接,测试连接成功,拿下目标主机,开始目录遍历,发现flag
    在这里插入图片描述

前端验证

尝试上传一句话木马1.php, 发现被限制,效果如下
在这里插入图片描述

  1. 尝试把这个文件改成1.php.jpg,通过抓包改成1.php
    在这里插入图片描述
    上传成功,显示路径为…/upload/1.php

  2. 接下来是antsword操作,同上题

.htaccess

htaccess文件是Apache服务器中的一个配置文件,它负责相关目录下的网页配置。通过htaccess文件,可以帮我们实现:网页301重定向、自定义404错误页面、改变文件扩展名、允许/阻止特定的用户或者目录的访问、禁止目录列表、配置默认文档等功能

htaccess思路:把一个.htaccess的文件上传上去,在上传一个恶意图片tu.jpg,那么apache会将这个jpg当作php文件来解析,很方便

  1. 上传tu.jpg和.htaccess上去,成功

在这里插入图片描述

  1. 访问tu.jpg
    在这里插入图片描述
    这里是文件相关配置出了问题,尝试别的文件。
    小技巧:检查网页代码,发现限制了好多文件格式
    在这里插入图片描述
  2. 尝试了下1.jpg,然后antsword,发现又可以了,直接被解析成php,同样可行,拿下!
    在这里插入图片描述

MIME绕过

MIME:Multipurpose Internet Mail Extentions,多用途互联网邮件扩展类型 。是设定某种扩展类型文件用一种应用程序来打开的方式类型。比如png----image/png。具体体现在请求头中的Content-Type参数,抓包的时候试着改一改,可能会出奇效

  1. 先上传一个jpg看看效果,上传成功。那么尝试搞事情,上传1.php, 发现被限制
    在这里插入图片描述

  2. 抓包,改Content-Type,骗过上帝
    在这里插入图片描述
    在这里插入图片描述

  3. 接下来就是antsword一条龙了。

00截断

这个属于白名单绕过,是php语言低版本存在的自身的问题;感兴趣可以去了解下原理,通过代码审计,发现上传文件时以时间戳的方式对上传的文件重命名,这个时候使用上传路径%00截断绕过,不过这个就需要对文件有足够的权限

实现思路:上传文件名改成1.jpg
save_path写成…/upload/1.php%00.jpg
(1.php%00.jpg经过url转码变成1.php\000.jpg,windows保存下来的文件是1.php)

  1. 以上方式通过抓包修改数据来实现
    瞎试了一通,就是注意上传的是1.php还是1.jpg,通过抓包修改俩地方
    在这里插入图片描述

  2. antsword连接,拿下
    在这里插入图片描述

双写后缀

  1. 上传1.php发现虽然上传成功,但是后缀名不见了,这就会导致代码解析不了
    在这里插入图片描述

  2. 抓包,修改名字为1.phphpp
    在这里插入图片描述
    好了,成功了,接下来就是antsword拿下咯

文件头检查

有些检测会加了查看文件头部的限制。因为每种类型的文件,文件数据的开头都是不同的。这时候可以伪造文件头来绕过这个检测

  1. 查看网页源码,上传正常文件,看看做了哪些限制
    在这里插入图片描述
    这里只允许jpeg,jpg,png,gif
    那么可以试试能不能通过正常思路绕过,修改类型什么的,发现不太行,这下就可以试试伪造文件头了

  2. 上传一个正常图片,burp抓包,文件名改为:1.php;在图片内容后面写上一句话木马。
    在这里插入图片描述

在这里插入图片描述

  1. antsword测试连接
    在这里插入图片描述
    拿下!
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值