sql盲注特点_SQL注入介绍及分类解读

SQL全称是Structured Query Language,是一种结构化的查询语言,用于与数据库进行交互并能够被数据库解析。SQL注入攻击是一种常见的注入攻击类型。攻击方式在用户与程序进行交互时发生的。如在表单输入、搜索框输入功能中插入SQL命令,然后发送到服务端。服务端对数据进行了解析执行,并执行了一些非预期的操作。

SQL注入

危害

1、从数据库中读取敏感数据;

2、篡改数据库数据;

3、对数据库执行管理权限操作;

4、执行系统命令导致程序危害发生;

SQL漏洞被列为高危漏洞

产生条件

1、SQL语句中包含了不被信任的数据,如用户输入信息等;

2、动态构建的SQL语句,如将搜索条件拼接到语句中;

注入影响

1、保密性:可能会导致敏感新泄露,如管理员账户、会员信息等;

2、身份验证:如果使用了较差的SQL命令来进行判断用户信息正确性。可能导致在不清楚用户密码的情况下,直接以用户身份进行登录系统;

3、授权:如果将某平台的授权信息保存在数据库中,可能被非法更改,导致经济损失情况的发生;

4、完整性:如果敏感的信息被非法读取,可能导致此信息所关联的信息被非法更改、破坏、删除,影响了此条数据的完整性;

代码命令

目前,在服务器上面运行的大部分程序都是以数据库为驱动,这样进一步的增加了SQL注入漏洞的产生,因此,SQL注入漏洞非常关键,在开发过程中要严格把控。

注入分类

1、参数类型分类

数字型注入:输入参数为整型时,如Id、年龄和页码等;

字符型注入:输入参数为字符串型时,如姓名、职业、住址等;

两者最大的区别:字符型注入一般要使用单引号进行闭合,而数字型注入则不需要;

2、注入位置分类

GET注入:注入字符在URL参数中;

POST注入:注入字段在POSt提交的数据中;

Cookie注入:注入字段在Cookie数据中,网站使用通用的防注入程序,会对GET、POST提交的数据进行过滤,却往往遗漏Cookie中的数据进行过滤。

其他注入:HTTP请求的其他内容触发的SQL注入漏洞;

代码漏洞

3、结果反馈分类

盲注入:盲注入不会展现任何数据库报错内容,它是依据构造真或假的问题对数据库进行“提问”,注入方式主要有两种:基于布尔值与基于时间。

3.1、基于布尔值

如在MySQL中判断数据名长度的输入为1' and length(database()) = 10 #,通过相应的正确与否判断数据名的长度是否为10,猜测数据库中数据的具体内容时,可以借助书本上SUBSTR、LIMIT、ASCII等一些特殊的命令及函数进行猜测;

3.2、基于时间

基于时间的SQL盲注入方式通常是在SQL语句中添加延时函数,依据相应时间来判断是否存在SQL注入,常用的延时函数或指令有sleep、repeat等。

总结:盲注入提交SQL命令较多,通常通过手工方式无法完成,借用工具如SQLMAP。

非盲注入(正常SQL注入):执行注入SQL语句将敏感信息展示出来,并进行进一步的操作。

4、其他类型

延时注入:使用延时函数方式;

搜索注入:注入点在搜索框中;

编码注入:将输入的字符串进行编码,如base64编码;

堆查询注入:同时执行多条语句;

联合查询注入:使用union操作码合并两条或多条SQL语句;

多阶注入:由多个HTTP请求响应共同完成的注入;

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值