SQL漏洞概述
Posted 安全界 的彭于晏
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL漏洞概述相关的知识,希望对你有一定的参考价值。
1 .sql inject漏洞概述
数据库注入漏洞,主要是开发人员在构建代码时,没有对输入边界进行安全考虑.
导致攻击者可以通过合法的输入点提交一些精心构造的语句,从而欺骗后台数据
对其进行执行,导致数据库信息泄露的一种漏洞.
2.sql注入攻击流程
1.注入点探测
自动方式:使用web漏洞扫描工具,自动进行注入点发现
手动方式:手工构造sql 注入测试语句进行注入点发现
2.信息获取
通过注入点获取期望得到的数据
1.环境信息:数据类型,数据库版本,操作系统版本,用户信息等
2.数据库信息:数据库名称,书库表,表字段,字段内容(加密内容破解)
3.权限获取
获取操作系统权限:通过数据库执行shell ,上传木马
3.sql注入常见注入点的类型
数字型 user_id=$id 传入数字给变量赋值
字符型 user_id= '$id' 传入字符串给变量赋值
搜索型 text LIKE '%{$_GET['search']}%'"
4.什么是盲注
在有些情况下,后台使用了错误消息屏蔽方法(比如@)屏蔽了报错
此时无法在根据报错信息来进行注入的判断.
这种情况下的注入,称为''盲注''
根据表现形式不同,盲注又分为based boolean 和based time 两种类型
基于boolean 的盲注主要表现症状:
0.没有报错信息
1.不管是正确的输入,还是错误的输入,都只显示两种情况(我们可以认为是0或者1)
2.在正确的输入下,输入and1=1/and1=2发现可以判断
基于based time 盲注
如果说基于boolean 的盲注在页面上还可以看到0 or1的回显的话
那么基于time的盲注完全就啥也看不到了!
但还有一个条件,就是''时间'',通过特定的输入,判断后台执行的时间,从而确定注入!
常用的Teat payload;
kobe' and sleep(5)#
以上是关于SQL漏洞概述的主要内容,如果未能解决你的问题,请参考以下文章
Mybatis -- 动态Sql概述动态Sql之<if>(包含<where>)动态Sql之<foreach>sql片段抽取