使用echo从PHP变量输出Javascript代码

时间:2016-05-23 18:21:53

标签: javascript php html echo xss

我想熟悉跨站点脚本,所以我试图利用他们在课堂上提供给我们的一些易受攻击的例子。现在我有一个表单,当表单提交时,其值存储在PHP的$_REQUEST['in']中,然后在响应返回时打印在页面的其他位置。要打印其内容,我们会使用另一个变量$var$_REQUEST['in']中检索它,然后使用echo $var

现在我的赌注是将JS代码编写到$_REQUEST['in']中,以便在返回时将其打印在HTML文件中并执行。问题是echo正在将字符<>更改为等效的&lt&gt,这使得JS代码显示为普通文本。没有使用HTML编码方法,所以这就是为什么我有点困惑。你能否给出我为何会发生这种情况的任何暗示?

这是正在使用$var的文件部分。

<div id="feedback" class="alert alert-warning">
    <?php echo $var; ?>
</div>

我重新检查代码,寻找一些借口方法,但我没有看到任何方法。它们包括this JS,但我不认为编码是在那里完成的,因为它没有直接提供给我们。

1 个答案:

答案 0 :(得分:1)

在最终回音为htmlentitieshtmlspecialchars

之前,我觉得这听起来像某个地方

在旁注中,echo不会对它只是试图输出任何东西进行任何更改,有时会失败!