SQL注入测试的测试点
来源:互联网 发布:贵州浪人网络官网 编辑:程序博客网 时间:2024/05/22 01:53
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文件进行了敏感字符或命令集的屏蔽
前提是设计或需求允许这样的操作
转载请注明作者与出处,谢谢。
- SQL注入测试的测试点
- oracle sql注入测试
- 安全测试-SQL注入
- SQL手工注入测试
- 安全测试-SQL注入
- bugku SQL注入测试
- SQL注入点自动化利用测试工具—shoryuken
- MySQL for Java的SQL注入测试
- 如何防范SQL注入 SQL注入测试
- 全新的注入点检测方法(增加测试例子)
- SQL注入终级测试
- Sql注入测试-Pangolin 穿山甲
- sql和shell注入测试
- 安全测试--SQL注入攻击
- 软件测试中的SQL注入
- SQL注入测试实例分析
- 安全测试-手工SQL注入
- sql website注入 渗透测试
- Visual Studio 2017强制更新方法
- c#中用IComparable实现排序
- scrollviewindicater标题滑动
- sdnu1001
- fastrcnn动态库的生成和调用(1)
- SQL注入测试的测试点
- 160个破解练习之CrackMe 001 Acid burn
- TortoiseSVN 1.9.5安装 与 Eclipse4.4.2及以上版本中安装SVN插件
- Yii2事件与行为总结
- 使用sqlite必须注意的事项
- ArcEngine 要素更新效率探讨
- PPP/SLIP 协议分析
- 判断一棵树是否是平衡二叉树
- python3 tkinter的入门