• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

简单SQL注入:盲注

武飞扬头像
PHP中文网
帮助47

sql注入——盲注

1.回顾

回显注入主要应用于数据库中的数据可以再网站的页面上直接展示出来。
报错注入主要应用于网站的页面上存在原始报错信息,数据库中的数据在原始报错信息中展示出 来。也被称为报错回显。
原理:由于用户不可控输入,攻击者可以任意的输入恶意的sql语句,造成sql语义发生改变,从而引起数据库和操作系统的风险。

风险:数据操作、登录绕过、文件操作、命令执行、注册表操作。

防御:过滤、预编译。

2.盲注漏洞场景

1.数据库中的数据并不会在页面上直接展示,将查询出的结果通过判断,将判断之后的结果在页 面上输出。如登录框
2.insert、update、delete等于语法不具备数据的查询功能,页面上就不会存在数据库中的数据。如注册、信息修改、数据添加

3.盲注原理

核心
将数据库中查询的数据结果进行截断为单个字符,然后同构造逻辑语句。通过判断页面显示是 否异常或页面是否演示来判断数据库中查询的结果。

4.分类

1.bool盲注
如果数据库中可以查到相应的数据,页面会正常显示,反之异常。

2.时间盲注
无论输入任何数据,页面的效果完全一样,根据页面是否延迟判断出数据库中查询出的结果。

5.流程

1.找疑似注入点 找输入点,找与数据库有交互的地方
2.判断sql注入是否存在 构造恶意的sql语句,提交后页面的响应信息与预期保持一致,这说明注入存在。
3.获取数据库名

1.获取当前数据库名
	and ascii(substr((select database()),1,1))=115
2.获取所有数据库名
	and (select ascii(substr(group_concat(schema_name),1,1)) from information_schema.schemata)>0

3.计算出获取数据的长度

and (select length(group_concat(schema_name)) from information_schema.schemata)>10 -- 

4.获取表
5.获取列
6.获取数据

6.时间盲注

and if(((select database())='a'),sleep(5),0)-- 

7.总结

可以发生回显、报错、bool注入的地方都可以发生时间盲注,反之不行 可以发生回显报错的地方一定可以bool型盲注,反之不行。

8.sqlmap

sql注入自动化工具,python2开发的,可以兼容python3。sqlmap的使用实际上就是模拟人对网站的请求过程,可以对获取的数据做收集分析然后展示。

python sqlmap.py -h	查看sqlmap可使用的参数
                 -u 网站的url	向sqlmnap提供注入点

学新通技术网
–dbs 获取所有数据库名
学新通技术网

-D 指定库 --tables 获取指定数据库中所有的表的信息
学新通技术网

-D 指定库 -T 指定表 --columns
学新通技术网

-D 指定库 -T 指定表 -C 列1,列2 --dump
学新通技术网

-r ‘文件名’
学新通技术网

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanfeigk
系列文章
更多 icon
同类精品
更多 icon
继续加载