sql注入绕过方法
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
sql注入绕过方法
SQL注入绕过方法
一、SQL注入
SQL注入是攻击者通过把SQL命令插入到Web表单中,利用Web
应用服务器执行恶意SQL命令来访问,篡改或者删除数据库中的数据。
1、字符转义:
字符转义的目的是防止字符串中的特殊字符被解释为SQL语句
中的保留字。
建议在Web应用中尽量使用字符转义函数,避免SQL注入的发生。
2、验证输入:
用户输入的内容要进行有效性检查,只允许用户输入符合要求的内容,并且限制用户提交的数据的大小以及长度等。
3、参数化查询:
建议使用参数化查询来构造SQL,而不是拼接SQL字符串,参数化查询可以有效的防止SQL注入攻击。
4、防止注释:
要防止攻击者使用注释绕过检查,可以为用户提供的字符限定一些范围,或者对字符转义之后进行处理。
5、限制权限:
服务器上的数据库服务器应该只开放必要的权限,不要让数据库服务器拥有太多的权限,这样可以极大的减少攻击的可能性。
二、SQL注入绕过方法
1、使用URL转码
攻击者可以使用URL编码(由于空格可以被URL编码)来进行SQL注入,而不是使用常规的空格。
2、使用两个连字符(--)结束查询
攻击者可以使用两个连字符(--)来结束SQL语句的执行,从而表示注释。
3、使用unicode编码
攻击者可以使用unicode编码将特殊字符转换成被Web服务器识别的字符,这样可以绕过常规的防御手段。
4、使用特殊空格
攻击者可以使用特殊的ASCII空格字符,包括:v,t,f,
,
等来绕过防御机制。
5、使用堆叠查询
攻击者可以通过将多个查询语句堆叠在一起,来绕过安全检查的限制,比如将多个查询语句的结果集堆叠起来,进行攻击。