2013-01-09 72 views
0

我开发了一个网站(在asp.net中),它有一个注册页面(没有注册,但它接收人的详细信息),这实际上是一个教育机构的网站,注册表是为那些想要注册组织研讨会的人而设计的。这是一个SQL注入攻击

现在来点,我被检查数据库的登记表(数据库是在MS Access),并发现有类似的数据多行:

//In Residential Address field 
[url=http://paydayloansonline25.com]payday loans online[/url] pay loans direct student loans [url=http://paydayloansonline25.com]get loan online payday[/url] cash fast without bank account http://paydayloansonline25.com small business loans fast cash 

//In Field to store workshop id, for which the person want to register for, the data was 
document.getElementById(varIDCtrlName).value; 

我相信这是一个可能的SQL注入攻击,但不确定,黑客会试图做什么,如果他成功了 - 那么他会收集什么。请再提一提,我该如何处理它。


欲了解更多信息:

我还没有加入参数,如

EnableEventValidation="false" ValidateRequest="false" 

在aspx页面的页面指令,以我的猜测是true默认情况下,虽然它是true,帮助这种类型的可能的攻击。 还有一件事值得一提的是,我的OleDbCommand的参数是这样写

cmd.Parameters.AddWithValue("@ResiAddress", strResiAddress); 
+0

SQL注入是当用户在(表单)字段中添加SQL代码以获取/操作数据库中不打算接收/编辑的其他数据时。 这似乎是一个'简单'的垃圾邮件条目,但是您应该确保在显示此项目时不要解析并执行javascript。 –

回答

3

也就是说Cross-site scripting

跨站点脚本(XSS)是一种计算机安全的 漏洞通常发现在Web应用程序中。由于违反了 浏览器的安全性,XSS使攻击者能够将客户端脚本 注入到其他用户查看的网页中。

在你的情况下,攻击者正在等你,以显示在您的网页这些领域的一些地方,而且因为它们是HTML/JavaScript中,他们将被显示在攻击者想要的方式浏览器。

+1

虽然如果数据被适当地使用/转义 - 即“HTML编码” - 那么这将被阻止.. – 2013-01-09 07:05:18

+0

@pst:在html编码后数据不会被显示为页面的一部分吗?即如何将html编码删除“发薪日贷款”的东西。我同意链接将被转义。 – shahkalpesh

+0

@shahkalpesh看到广告可能是最令人愉快的用户体验,但只要脚本或其他XSS矢量无法触发,那么它仍然是“安全”的。当然,如果注入的标记可以用作社会工程 - 例如网络钓鱼 - 矢量..那么可能会反驳认为不安全。据推测,有一个标记处理器可将'[stuff]'转换为*有效和“安全”的HTML输出。处理垃圾邮件是另一个问题.. – 2013-01-09 07:20:50

0

这不是SQLi攻击 - 数据中没有SQL命令。

但是document.getElementById(varIDCtrlName).value;,它是有效的javascript代码,所以它看起来像某种脚本攻击。这个javascript是无辜的,但是如果攻击者可以在稍后作为脚本运行的字段中输入数据,那么这是一个严重的安全威胁。