SQLI LABS | Less-39 GET-Stacked Query Injection-Intiger Based
关注这个靶场的其它相关笔记:SQLI LABS —— 靶场笔记合集-CSDN博客
0x01:过关流程
输入下面的链接进入靶场(如果你的地址和我不一样,按照你本地的环境来):
http://localhost/sqli-labs/Less-39/

本关是堆叠注入,先来看一下受害者原始数据(我们的目标就是篡改信息,或者删除信息?):

首先,用 BP 抓包,然后用时间盲注的字典去爆破后端 SQL 模板:

如下,是一个可以使用的 Payload 模板:
1 and sleep(3)
通过上面的模板,我们可以推测出其后端的 SQL 模板为:
select * from users where id=$_GET["id"];
我们可以使用如下 Payload 做一个测试,进行校验,看看我们上面的推测是否正确:
1 and 1=1 => 若页面回显内容,则证明存在漏洞1 and 1=0 => 若页面回显为空,则证明存在漏洞

明确了漏洞存在,且知道 Payload 该怎么写后,就是收集数据库信息、收集数据表信息 。。。 这些笔者在这里节省时间就不说了,直接当作已知条件,下面直接开始上堆叠注入的 Payload:
-- 修改 id = 1 的用户密码为 HACKER1;update users set password='HACKER' where id=1;#

如上,我们已经能够随意篡改用户密码了。至此,SQLI LABS Less-39 GET-Stacked Query Injection-Intiger Based 成功过关。
0x02:源码分析
下面是 SQLI LABS Less-39 GET-Stacked Query Injection-Intiger Based 后端的部分源码,以及笔者做的笔记:
<?php// take the variables if (isset($_GET['id'])) {$id = $_GET['id'];//logging the connection parameters to a file for analysis.$fp = fopen('result.txt', 'a');fwrite($fp, 'ID:' . $id . "\n");fclose($fp);// connectivity//mysql connections for stacked query examples.$con1 = mysqli_connect($host, $dbuser, $dbpass, $dbname);// Check connectionif (mysqli_connect_errno($con1)) {echo "Failed to connect to MySQL: " . mysqli_connect_error();} else {@mysqli_select_db($con1, $dbname) or die("Unable to connect to the database: $dbname");}// 直接拼接进 SQL 模板中$sql = "SELECT * FROM users WHERE id=$id LIMIT 0,1";/* execute multi query */// mysqli_multi_query => 执行一个或多个针对数据库的查询,多个查询用分号进行分隔。 if (mysqli_multi_query($con1, $sql)) {/* store first result set */// mysqli_stroe_result => 转移将上一次查询返回的结果集(多个结果)if ($result = mysqli_store_result($con1)) {if ($row = mysqli_fetch_row($result)) {echo '<font size = "5" color= "#00FF00">';printf("Your Username is : %s", $row[1]);echo "<br>";printf("Your Password is : %s", $row[2]);echo "<br>";echo "</font>";}// mysqli_free_result($result);}/* print divider */// mysqli_more_results => 如果当前执行的查询存在多个结果,返回 “真”,否则返回 “假”if (mysqli_more_results($con1)) {//printf("-----------------\n");}//while (mysqli_next_result($con1));} else {echo '<font size="5" color= "#FFFF00">';print_r(mysqli_error($con1));echo "</font>";}/* close connection */mysqli_close($con1);} else {echo "Please input the ID as parameter with numeric value";}?>相关文章:
SQLI LABS | Less-39 GET-Stacked Query Injection-Intiger Based
关注这个靶场的其它相关笔记:SQLI LABS —— 靶场笔记合集-CSDN博客 0x01:过关流程 输入下面的链接进入靶场(如果你的地址和我不一样,按照你本地的环境来): http://localhost/sqli-labs/Less-39/ 本关是堆…...
linux安装zookeeper和kafka集群
linux安装zookeeper和kafka集群 一、Zookeeper集群部署安装zookeeper1. 下载2. 上传, 解压3. 配置 Zookeeper 节点4. 创建 myid 文件5. 启动参数更改6. sh文件授权7. 启动集群8. 防火墙开启端口 验证集群 二、kafka集群安装安装Kafka1. 下载Kafka安装包2. 上传到服务器…...
洞悉 Linux 系统运行细节,使用 atop 监测和回看系统负载状态
Linux系统的资源使用情况,你可以通过使用命令如free、top和netstat来实时监控内存、CPU及端口的使用状态。对于需要追踪历史资源消耗动态的场景,atop命令则能有效帮助用户查看过去的系统负载情况。 本篇教程的灵感源自一位小伙伴的真实经历:…...
“双十一”电商狂欢进行时,在AI的加持下看网易云信IM、RTC如何助力商家!
作为一年一度的消费盛会,2024年“双十一”购物狂欢节早已拉开帷幕。蹲守直播间、在主播热情介绍中点开链接并加购,也已成为大多数人打开“双11”的重要方式。然而,在这火热的购物氛围背后,主播频频“翻车”、优质主播稀缺、客服响…...
Python调用企业微信的扫一扫
在企业微信里面新建了一个应用,指向了搭建服务器上Django写的web应用。 web应用需要使用扫描二维码的功能,就使用了大家都评价效果好的微信的扫一扫,事实也证明微信的扫一扫很好,但实现这个功能还是花了自己不少时间,很…...
速盾:CDN和OBS能共用流量包吗?
CDN和OBS是两种不同的云服务,它们在内容分发和存储方面有着不同的功能和优势。虽然它们都可以用于提供高效的内容分发和存储服务,但是它们的流量包是不能共用的。 CDN,即内容分发网络,是一种通过将内容存储在全球分布的服务器上&…...
第8章 利用CSS制作导航菜单
8.1 水平顶部导航栏 水平莱单导航栏是网站设计中应用范围最广的导航设计,一般放置在页面的顶部。水平 导航适用性强,几乎所有类型的网站都可以使用,设计难度较低。 如果导航过于普通,无法容纳复杂的信息结构,就需要在…...
C# 集合与泛型
文章目录 前言1.什么是集合?2.非泛型集合(了解即可)2.1常见的非泛型集合 3.泛型的概念4.常用的泛型集合4.1 List < T > <T> <T>4.2 Dictionary<TKey, TValue>4.3 Queue < T > <T> <T>4.4 S t a c…...
el-date-picker 设置开始时间和结束时间
<el-date-picker v-model"ruleForm.RECORDDATE" type"date" placeholder"日期" format"YYYY/M/D" value-format"YYYY/M/D" style"width: 100%;" :disabled-date"publishDateAfter" > </el-dat…...
【Docker】 常用命令
文章目录 介绍Docker和容器化技术什么是Docker?Docker的优势和应用场景Docker的应用场景包括但不限于: 安装和配置Docker安装Docker引擎配置Docker环境 Docker镜像命令搜索镜像拉取镜像查看本地镜像删除本地镜像 Docker容器命令创建容器启动容器停止容器…...
docker compose - 设置名字
只使用 docker compose up 启动容器,默认名字为当前文件夹的名字 设置 project-name,docker 客户端会显示设置的名字,方便区分 docker compose --project-name webtest up错误: docker compose up --project-name webtest 效果…...
工业拍卖平台、信息发布、租赁商城平台系统适用于全行业解决方案。
工业拍卖平台系统是为工业领域的资产交易、设备处置等提供线上拍卖服务的数字化平台。 主要功能: 拍卖信息发布:平台会展示待拍卖的工业资产详细信息,包括设备的名称、型号、规格、使用年限、生产厂家等基本信息,以及资产的图片…...
一个win32 / WTL下多线程库(CThread类)的使用心得
说是多线程库,其实就是一个单独的.h文件,可以方便的放入WTL/win32工程中。 下载地址:CThread. 里面也简单介绍了 用法。 具体用法,首先自定义一个子线程类继承CThreadImpl<T>,注意他是个模板类。 class CMySu…...
使用wordpress搭建简易的信息查询系统
背景 当前有这样的一个需求,要实现让客户能够自助登录系统查询一些个人的信息,市面上没有特别符合我的需求的产品,经过一段时间的研究,想出了一个用wordpress实现简易信息查询系统,有两种方式。 方式一:使…...
PAT甲级 1076 Forwards on Weibo(30)
文章目录 题目题目翻译深度优先搜索(dfs)宽度优先搜索(bfs)总结 原题链接 题目 题目翻译 微博被称为中国的推特。在微博上,一个用户可能有很多粉丝,也可能关注许多其他用户。因此,通过粉丝关系…...
揭开 gRPC、RPC 、TCP和UDP 的通信奥秘
差异点 特性TCPUDPRPCgRPCHTTP工作层级传输层传输层应用层应用层应用层传输协议面向连接的传输协议无连接传输协议使用 TCP、HTTP 等协议HTTP/2HTTP/1.1, HTTP/2序列化格式字节流数据报文XML、JSON 或自定义Protocol BuffersJSON 或 XML特点可靠的连接传输无连接、快速传输远程…...
使用Web Worker来处理多线程操作,以及如何避免主线程卡顿。
在JavaScript中处理大量数据时,由于JavaScript是单线程的,所有的操作都在主线程上运行,因此处理大量数据可能导致页面卡顿和响应迟缓。为了避免这些问题,可以使用Web Workers来实现多线程操作,允许在后台线程中处理复杂…...
杂谈:业务说的场景金融是什么?
引言:市场格局的转变 在供应短缺的年代,是典型的卖方市场。为了保证稳定供货,买方会提前一段时间下单,也几乎没什么议价能力。卖方只需等着接单就行。 现在很多领域的供应商数量越来越多,而且随着互联网的普及&#…...
在vscode实现用和Chrome开发者工具中相同的快捷键进行面板切换
在Chrome开发者工具中,我们可以用 Ctrl [ 和 Ctrl ] 快捷键来切换面板,用起来很方便。 vscode中默认没有这两个快捷键,我们可以通过配置自定义快捷键来实现相同的功能。 配置方法: 1. 按 Ctrl K, Ctrl S 调出快捷键配置面板。…...
【ESP32+MicroPython】硬件控制基础
ESP32是一款功能强大的微控制器,具有多种硬件接口。本文以“ESP32硬件控制”为主题,逐步介绍GPIO(通用输入输出)、PWM(脉宽调制)、ADC(模数转换)等功能的原理与实现,并结…...
树莓派超全系列教程文档--(61)树莓派摄像头高级使用方法
树莓派摄像头高级使用方法 配置通过调谐文件来调整相机行为 使用多个摄像头安装 libcam 和 rpicam-apps依赖关系开发包 文章来源: http://raspberry.dns8844.cn/documentation 原文网址 配置 大多数用例自动工作,无需更改相机配置。但是,一…...
DeepSeek 赋能智慧能源:微电网优化调度的智能革新路径
目录 一、智慧能源微电网优化调度概述1.1 智慧能源微电网概念1.2 优化调度的重要性1.3 目前面临的挑战 二、DeepSeek 技术探秘2.1 DeepSeek 技术原理2.2 DeepSeek 独特优势2.3 DeepSeek 在 AI 领域地位 三、DeepSeek 在微电网优化调度中的应用剖析3.1 数据处理与分析3.2 预测与…...
DockerHub与私有镜像仓库在容器化中的应用与管理
哈喽,大家好,我是左手python! Docker Hub的应用与管理 Docker Hub的基本概念与使用方法 Docker Hub是Docker官方提供的一个公共镜像仓库,用户可以在其中找到各种操作系统、软件和应用的镜像。开发者可以通过Docker Hub轻松获取所…...
从深圳崛起的“机器之眼”:赴港乐动机器人的万亿赛道赶考路
进入2025年以来,尽管围绕人形机器人、具身智能等机器人赛道的质疑声不断,但全球市场热度依然高涨,入局者持续增加。 以国内市场为例,天眼查专业版数据显示,截至5月底,我国现存在业、存续状态的机器人相关企…...
2.Vue编写一个app
1.src中重要的组成 1.1main.ts // 引入createApp用于创建应用 import { createApp } from "vue"; // 引用App根组件 import App from ./App.vue;createApp(App).mount(#app)1.2 App.vue 其中要写三种标签 <template> <!--html--> </template>…...
[ICLR 2022]How Much Can CLIP Benefit Vision-and-Language Tasks?
论文网址:pdf 英文是纯手打的!论文原文的summarizing and paraphrasing。可能会出现难以避免的拼写错误和语法错误,若有发现欢迎评论指正!文章偏向于笔记,谨慎食用 目录 1. 心得 2. 论文逐段精读 2.1. Abstract 2…...
屋顶变身“发电站” ,中天合创屋面分布式光伏发电项目顺利并网!
5月28日,中天合创屋面分布式光伏发电项目顺利并网发电,该项目位于内蒙古自治区鄂尔多斯市乌审旗,项目利用中天合创聚乙烯、聚丙烯仓库屋面作为场地建设光伏电站,总装机容量为9.96MWp。 项目投运后,每年可节约标煤3670…...
MySQL 8.0 OCP 英文题库解析(十三)
Oracle 为庆祝 MySQL 30 周年,截止到 2025.07.31 之前。所有人均可以免费考取原价245美元的MySQL OCP 认证。 从今天开始,将英文题库免费公布出来,并进行解析,帮助大家在一个月之内轻松通过OCP认证。 本期公布试题111~120 试题1…...
EtherNet/IP转DeviceNet协议网关详解
一,设备主要功能 疆鸿智能JH-DVN-EIP本产品是自主研发的一款EtherNet/IP从站功能的通讯网关。该产品主要功能是连接DeviceNet总线和EtherNet/IP网络,本网关连接到EtherNet/IP总线中做为从站使用,连接到DeviceNet总线中做为从站使用。 在自动…...
Fabric V2.5 通用溯源系统——增加图片上传与下载功能
fabric-trace项目在发布一年后,部署量已突破1000次,为支持更多场景,现新增支持图片信息上链,本文对图片上传、下载功能代码进行梳理,包含智能合约、后端、前端部分。 一、智能合约修改 为了增加图片信息上链溯源,需要对底层数据结构进行修改,在此对智能合约中的农产品数…...
