【发布时间】:2011-08-02 02:53:56
【问题描述】:
为了演示 XSS 攻击,我正在构建一个 Web 应用程序,它执行以下操作:
- 像论坛一样工作
- 通过 HTML 文本区域获取用户的帖子并将这些消息存储在 mysql 数据库中
- 显示线程上用户的所有帖子。目的是展示 XSS 攻击,例如
alert("attack");由于对输入的过滤不足。
我正在使用带有 Apache 和 PHP 的 MySql 数据库。
在文本区域中输入以下输入:
<script>alert("attack");</script>
数据只是没有被添加到数据库中,并且将帖子存储到数据库中的页面中的 $_POST 方法返回了一个空字符串。但是,所有其他情况都有效。到目前为止,我还没有在 PHP 中使用任何用于输入过滤的特殊函数,因为这是一个演示 XSS 的应用程序。
但是,在手动将上述脚本添加到数据库时,会弹出预期的警报框。
有人知道怎么回事吗?
【问题讨论】:
-
处理输入的 php 是什么样子的还是你使用框架?
-
一个代码 sn-p 价值十亿字。与其编写没有意义的“$_POST 方法返回空字符串”,不如发布您在测试中运行的代码。
-
重新发布我在下面的评论中添加的代码。发布消息页面中的代码是:'
在此处输入您的消息: