• 软件测试技术
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘

字号: | 推荐给好友 上一篇 | 下一篇

ASP.NET程序防范SQL注入式攻击的方法

发布: 2008-4-08 13:52 | 作者: 不详 | 来源: 教学网 | 查看: 38次 | 进入软件测试论坛讨论

领测软件测试网 软件测试技术网X YN.V G n,S

)W.D"U!F6u] V(WD 软件测试技术网9g|2s,_knD

软件测试技术网:P?o GG:oY6w

 第二:删除用户输入内容中的所有连字符,防止攻击者构造出类如“SELECT * from Users WHERE login = ’mas’ —— AND password =’’”之类的查询,因为这类查询的后半部分已经被注释掉,不再有效,攻击者只要知道一个合法的用户登录名称,根本不需要知道用户的密码就可以顺利获得访问权限。

o:W)u;c y0Y,O&BmG+B 软件测试技术网o'E hA6k5X4iJ2}

  第三:对于用来执行查询的数据库帐户,限制其权限。用不同的用户帐户执行查询、插入、更新、删除操作。由于隔离了不同帐户可执行的操作,因而也就防止了原本用于执行SELECT命令的地方却被用于执行INSERT、UPDATE或DELETE命令。

)K7v @3D&} v9C

O%ZJ)Z9n  ⑵ 用存储过程来执行所有的查询。SQL参数的传递方式将防止攻击者利用单引号和连字符实施攻击。此外,它还使得数据库权限可以限制到只允许特定的存储过程执行,所有的用户输入必须遵从被调用的存储过程的安全上下文,这样就很难再发生注入式攻击了。

?a;V/kG8F 软件测试技术网)c