gpt4 book ai didi

php - 当我使用 jqueryui 自动完成功能时,为什么我的网站会发出 "xssvuln"警报?

转载 作者:行者123 更新时间:2023-12-01 07:14:45 25 4
gpt4 key购买 nike

我在我的网站上实现了 jqueryui 自动完成功能,但是当我加载该页面时,它会警告“xssvuln”。但是当我尝试在本地主机上运行我的网站时,没有问题。你能帮我解决这个问题吗?而且,我在 ipage 上运行我的网站。

这是我的自动完成js。

$.ajax({
type: 'post',
url: 'autocompleteCourse.php',
dataType: 'json',
success: function(data){
var availableCourse = data;
$( "#course" ).autocomplete({
source: availableCourse,
messages: {
noResults: '',
results: function() {}
}
});
}
});

这是我用于自动完成的 php 文件。

include'../utility/sqlcon.php';

$query = mysql_query("select * from autocomplete where input = 'course'") or die (mysql_error());
while($q=mysql_fetch_array($query))
{
$courseOptions[] = $q['autoComplete'];
}

echo json_encode($courseOptions);

最佳答案

我猜这与 jQueryUI 自动完成没有什么关系,但可能表明有人入侵了您的网站,尽管是以友好警告的方式。

这可能暗示有人已设法将某些内容放入您的数据库中,例如 <script>alert('xssvuln');</script>表明您的网站容易受到 cross-site scripting 的攻击注入(inject)。

您能否查看一下实时页面的源代码,看看 xssvuln 警报来自何处?因为我怀疑这是自动完成,或者至少不是直接自动完成。如果您使用自动完成功能时发生这种情况,我会检查您在实时系统中搜索的任何内容的搜索结果,看看它们是否包含黑客放入的一些 Javascript,然后您将其插入到您的页面中没有正确的转义。

举个例子:如果您的网站允许用户添加新内容,而您只需接受他们输入的任何内容,然后将其输出,而不进行任何清理工作 - 删除脚本标签,使用类似 htmlspecialchars() 的函数在输出期间等 - 那么您必须意识到您实际上允许互联网上的任何人向您的网站添加代码

黑客在他们正在探测的网站上快速测试 XSS 漏洞的方法之一是在网站上找到一个输入表单,并向其中添加脚本代码,以查看它是否未经过滤就通过了。因此他们可能会找到一个评论表单,然后输入:

<script>alert('xssvuln');</script>

...进入其中。如果他们随后查看网站上的评论页面,而不是看到文本<script>alert('xssvuln');</script>在页面上(例如,就像我们在 Stack Overflow 中所做的那样),他们会看到 Javascript 警报,他们知道您的网站容易受到攻击。

所以,我的建议是:

  • 查明警报来自何处。很可能是您的数据库中存在用户提交的内容。
  • 阅读有关跨站点脚本编写的内容。
  • 保护您的输入和输出免遭此类 JavaScript 注入(inject)。
  • 如有必要,请清除数据库中的现有攻击。

关于php - 当我使用 jqueryui 自动完成功能时,为什么我的网站会发出 "xssvuln"警报?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20466221/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com