ctfshow [web] 文件上传 151--155

Web 151

提示前端校验不可靠,因此需要绕过前端校验。

可以写一个一句话木马,然后把后缀改成png上传。

想要绕过前端校验的话,可以用Burpsuite抓包然后修改filename的后缀为php,这样上传成功访问对应页面就可以拿到flag了。

一句话木马:

GIF89a
<?= system('cat ../fla*')?>

发送之后返回:

访问/upload/new,php,在注释里找到了flag。


Web 152

提示后端校验要严密,说明存在后端校验。

看题解貌似是限制了Content-Type,即文件类型,只能为 image/png,不过因为是先上传图片再修改后缀,所以上题的方法仍然适用


Web 153

采用上一题的手法发现文件上传失败,可能是后端ban掉了php后缀。

这里需要用到一个新方法:

.user.ini

原理: 指定一个文件(如a.jpg),那么该文件就会被包含在要执行的php文件中(如index.php),类似于在index.php中插入一句:require(./a.jpg);
这两个设置的区别只是在于auto_prepend_file是在文件前插入;
auto_append_file在文件最后插入(当文件调用的有exit()时该设置无效)所以要求当前目录必须要有php文件,巧合的是这题upload目录下有个index.php所以这种方式是可以成功的。

.user.ini

GIF89a                  
auto_prepend_file=new.png

先上传 .user.ini 文件,然后上传new.png就行了。

访问/upload,在注释里找到flag。


Web 154

仍然可以通过上传 .user.ini 文件来绕过后端校验,上题手法依然可以使用。


Web 155

仍然可以通过上传 .user.ini 文件来绕过后端校验,上题手法依然可以使用。

总结:

  1. 前端校验可以通过抓包后修改后缀来绕过

  1. 后端校验关键点一:Content_Type

  1. 后端校验绕过方法一:利用.user.ini文件把写有木马的图片加入到php文件解析序列中去(前提是目录下有可以执行的php文件,如index.php)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值