以下来自php网页的内容让我觉得有些代码可以被利用。
# Maps a uri like questions/ask/index.php?anything=something to questions/ask/index.php
$path = substr($_SERVER['REQUEST_URI'], 0, strpos($_SERVER['REQUEST_URI'], "?"));
攻击者可以在请求uri中发送php语法来利用以下某个语句吗?如果是这样,你怎么避免这种情况?
变式1:
header('Location: http://'.$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'].'&tag='.$tags);
变体2:
<p>...<?php echo $path; ?>... </p>
答案 0 :(得分:3)
回应PHP代码并不能让它运行。例如,尝试:
<?php
$path = "echo 'hello';";
echo $path;
?>
echo 'hello';
不会被运行。
要成为一个真正的漏洞,应用必须使用eval()或类似的东西。
直接打印用户输入的真正问题是Javascript注入或跨站点脚本注入,而不是PHP注入。