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漏洞概述的主要内容,如果未能解决你的问题,请参考以下文章

全局SQL注入防御代码

ZZCMS v8.2 最新版SQL注入漏洞

4个单词,谷歌返回16个SQL注入漏洞

Mybatis -- 动态Sql概述动态Sql之<if>(包含<where>)动态Sql之<foreach>sql片段抽取

4 个单词,谷歌返回 16 个 SQL 注入漏洞...

4 个单词,谷歌返回 16 个 SQL 注入漏洞...