SQL Inject-Me是火狐中的组件(支持50.1前的版本)
1.如何进行SQL注入测试?
(1)首先找到带有参数传递的URL页面,如 搜索页面,登录页面,提交评论页面等等.
注1:对于未明显标识在URL中传递参数的,可以通过查看HTML源代码中的"FORM"标签来辨别是否还有参数传递.在<FORM> 和</FORM>的标签中间的每一个参数传递都有可能被利用.
(2)其次,将安装好的SQL Inject Me组件打开,该工具可自动扫描该页面可进行注入测试的参数,可选择自动test all forms with all attract(使用所有的攻击方式进行测试)、test all froms with top attract(使用头部的攻击方式进行测试)或手动选择参数进行攻击。
(3)最后,生成报告,验证是否能入侵成功或是出错的信息是否包含关于数据库服务器的相关信息
(4)拓展,打开SQL Inject Me-options的SQL Injection Stings,可以增删改注入语句。
2.如何预防SQL注入?
(1)转义敏感字符及字符串(SQL的敏感字符包括“exec”,”xp_”,”sp_”,”declare”,”Union”,”cmd”,”+”,”//”,”..”,”;”,”‘”,”--”,”%”,”0x”,”><=!-*/()|”,和”空格”).
(2)屏蔽出错信息:阻止攻击者知道攻击的结果
(3)在服务端正式处理之前提交数据的合法性(合法性检查主要包括三 项:数据类型,数据长度,敏感字符的校验)进行检查等。最根本的解决手段,在确认客 户端的输入合法之前,服务端拒绝进行关键性的处理操作.