0

用户插入了一个 <script src=...> </script>

我的数据库中的代码,并使用 phpmyadmin,我无法删除该行。每次我尝试时页面都会不断刷新,并且该行仍然存在。

幸运的是,我在 chrome 中使用了一个隐身窗口,发现通过刷新会话并直接删除该行(无需先查看),我能够将其删除。我更改了我的数据库密码并清理了我的代码以防止 html 输入——这里还有什么风险?

phpMyadmin 对注入的 javascript 代码那么敏感吗?

澄清:Phpmyadmin 是我在这个隐身窗口中访问的唯一网站,所以它不可能来自其他网站

4

7 回答 7

1

Older versions( < 4.0 ) of phpMyAdmin are vulnerable to SQL injections and cross site scripting. I suggest you update to the latest version if you don't have it.

You can get the latest version here: http://www.phpmyadmin.net/‎</p>

Also take a look how to prevent XSS(Cross site scripting) http://www.ibm.com/developerworks/web/library/wa-secxss/ or you could just google it if you find the link is hard to understand. Hope it helps <3

于 2013-05-16T12:27:36.630 回答
1

没有 phpmyadmin 没有风险(当然,如果您输入了密码并以 root 身份使用其他登录名!)。所有风险都来自您可以将数据插入数据库的其他网页。

转到关于 OWASP 的这一部分这里

于 2013-05-16T11:58:58.927 回答
1

输出用户提交的数据时,应始终确保已对其进行了适当的清理。否则,您将面临 XSS攻击的可能性。使用htmlspecialchars功能可以轻松清理输出:

echo htmlspecialchars($userSubmittedData, ENT_QUOTES, 'utf-8');

另外,我建议不要在输入时剥离标签等,因为它可能会导致数据完整性丢失。只需确保在输出用户提交的数据时使用htmlspecialchars 。

于 2013-05-16T12:06:23.500 回答
1

检查您的 phpmyadmin 版本是否为最新版本。网络搜索显示旧版本中的 XSS。

我发现了这些标题:

PhpMyAdmin 版本 3.5.7 易受跨站脚本攻击

全面披露:phpMyAdmin 3.3.5 / 2.11.10 <= 跨站脚本

您可以在以下位置浏览 phpmyadmin 安全修复历史记录: http ://www.phpmyadmin.net/home_page/security/

于 2013-05-16T13:06:20.580 回答
0

您的代码以原始方式接受输入。请在插入数据库时​​使用 htmlspecialchars 和编码。

于 2013-05-16T11:59:36.163 回答
0

主要问题是有人能够注入恶意代码。在添加到数据库之前,您需要确保所有用户输入(包括 url 中的查询字符串)都经过正确清理(在服务器上,而不仅仅是通过 javascript)。对于任何允许文本的字段,您应该搜索可疑字符串,例如<script等等。更好的(只要它不会破坏您网站的功能)是有一个允许字符的白名单,这样就不可能输入恶意代码。例如,只允许字母数字字符,仅此而已。

于 2013-05-16T12:06:37.097 回答
0

一个简单的解决方案:这称为 XSS 攻击:

当您通过 php 将数据插入 mysql 数据库时,请使用 strip_tags(mysql_real_escape_string()) 。

于 2013-05-16T12:03:23.367 回答