16个你要注意的SQL注入测试点

Posted 软件测试呀

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了16个你要注意的SQL注入测试点相关的知识,希望对你有一定的参考价值。

1.输入域的值为数字型,用1=1,1=2法

若满足条件,则存在SQL注入漏洞,程序没有对提交的整型参数的合法性做过滤或判断

2.输入域的值为字符型,用 ’1=1’, ’1=2’ 法

若满足条件,则存在SQL注入漏洞,程序没有对提交的字符型参数的合法性做过滤或判断

3.输入域中的值为搜索型,用’and [查询条件] and ‘%’=’% 等

若满足条件,则存在SQL注入漏洞,程序没有对提交的查询的合法性做过滤或判断

4.用UNION查询语句

利用Union可以连接查询,从而从其他表中得到信息

5.大小写排查

程序员对大小写的过滤不充分时,会忽视大小写混合的情况,容易存在漏洞

6.用UNICODE字符集检查

用UNICODE字符集转化的输入,会把+号转为%2B,把%号转化为%25等,容易忽略过滤

7.用ASCII码检查

把输入的字符用ASCII码代替,如a=char(97),容易忽略过滤。

8.用;号或—号检查

分号;在SQLServer中表示隔开前后两句语句,–表示后面的语句为注释,容易忽略过滤

9.利用系统表

通过查询数据库的系统表名,可判断具体用的数据库类型

10.利用数据库服务器的系统变量user 等

可以得到数据库名,数据库的用户名,从而进行进一步攻击

11.利用相关函数

若字符是中文的,比如where name=’用户’,可以用where name=nchar(29992)+nchar(25143)代替。

12.界面输入框中是否对SQL敏感字符进行了屏蔽

“exec” ,“xp_”,“sp_”,“declare”,“Union”,“cmd”,“+”,“//”,“…”,“;”,“'”,“–”,“%” 等命令关键字

13.是否对SQL脚本语法出错信息进行了屏蔽

有些SQL注入的目的就是为了看到报错的SQL命令,通过分析这些SQL命令,获取关键的数据库名,表名以及字段名等信息

14.在浏览器的地址栏中是否对一些恒等表达式进行了屏蔽

例如:http://www.321cn. Com /showdetail.asp?id=19 and 1=1

15.对于提交表单的浏览器地址是否进行了敏感字符或命令集的屏蔽

16.对于cookie参数提交部分

是否对于cookie文件进行了敏感字符或命令集的屏蔽,前提是设计或需求允许这样的操作。

房子要一层一层盖,知识要一点一点学。大家在学习过程中要好基础,多上手实操,话不多说,这里狠狠上一次干货!我熬夜整理好的各阶段(功能、接口、自动化、性能、测开)技能学习资料+实操讲解,非常适合私下里学习,比找资料自学高效多了,分享给你们。

领取关 w/x/g/z/h:软件测试小dao

敲字不易,如果此文章对你有帮助的话,点个赞收个藏来个关注,给作者一个鼓励。也方便你下次能够快速查找。

房子要一层一层盖,知识要一点一点学。大家在学习过程中要好基础,多上手实操,话不多说,这里狠狠上一次干货!我熬夜整理好的各阶段(功能、接口、自动化、性能、测开)技能学习资料+实操讲解,非常适合私下里学习,比找资料自学高效多了,分享给你们。

领取关 w/x/g/z/h:软件测试小dao

敲字不易,如果此文章对你有帮助的话,点个赞收个藏来个关注,给作者一个鼓励。也方便你下次能够快速查找。

以上是关于16个你要注意的SQL注入测试点的主要内容,如果未能解决你的问题,请参考以下文章

SQL注入点判断

SQL注入语句

安全测试 - SQL注入

pikachu漏洞平台sql注入 之 数字型注入

pikachu---SQL注入

手工注入方法,方便大家测试注入点(含视频教程)