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

SQLI LABS | Less-20 POST-Cookie Injections-Uagent field-error based

关注这个靶场的其它相关笔记:SQLI LABS —— 靶场笔记合集-CSDN博客

0x01:过关流程

输入下面的链接进入靶场(如果你的地址和我不一样,按照你本地的环境来):

 http://localhost/sqli-labs/Less-20/

可以看到,靶场中有一个登录框,本关的名称中包含 Cookie Injection 证明注入点是在 Cookie 中。所以这里我们先开个挂,先使用一个合法的用户进行登录,等获取了 Cookie 的命名规则后再进行进一步的测试

笔者这里使用的用户名和密码是 Dumb : Dumb ,登陆后的页面如下所示:

如此,我们成功获取了目标后端所需要的 Cookie 的样式:

 uname = Dumb

接下来,打开 [[00 - HackBar - README|HackBar 插件]],点击 Load URL 并勾选 Cookies 后,对 Cookies 字段传入以下测试字段:

 测试 Payload 01: uname=1'   # 结果 : 报错

根据服务端回显的错误信息,我们可以构造如下 Payload 进行攻击:

 -- 获取当前服务器正在使用的数据库的名称攻击 Payload: uname=1' and updatexml(1,concat(0x7e,database(),0x7e),1)#'笔者备注: 0x7e 是字符 ~ 号,用于标识服务器报出来的数据。

可以看到,我们已经成功获取了当前站点使用的后端数据库的信息。至此,SQLI LABS Less-20 POST-Cookie Injections-Uagent field-error based 成功过关。

0x02:源码分析

下面是 SQLI LABS Less-20 POST-Cookie Injections-Uagent field-error based 后端的部分源码,以及笔者做的笔记:

// 获取 Cookie 传递过来的 uname 的值$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 "<br></font>";// 没有做过滤直接就拼接到 SQL 模板上$sql="SELECT * FROM users WHERE username='$cookee' LIMIT 0,1";$result=mysqli_query($con1, $sql);if (!$result){   // 如果没能读取到数据,就返回报错信息 => 报错注入die('Issue with your mysql: ' . mysqli_error($con1));}


http://www.mrgr.cn/news/62307.html

相关文章:

  • 无迹卡尔曼滤波器(UKF)
  • K8s 容器的定向调度与亲和性
  • 算法练习:LCR 179. 查找总价格为目标值的两个商品
  • WinDbg符号表下载问题解决
  • 简单认识redis - 12 redis锁
  • 什么是时间戳?怎么获取?有什么用?
  • Python酷库之旅-第三方库Pandas(178)
  • MySQL Workbench Data Import Wizard:list index out of range
  • Robot Framework 搭建环境
  • C# 编程语言学习教程
  • vuex、vue-router实现原理
  • AcWing 1303:斐波那契前 n 项和 ← 矩阵快速幂加速递推
  • 生成树协议——STP/RSTP/MSTP
  • Hello World for MCU
  • Rust 构建与测试自动化
  • 信息安全数学基础(37)有限生成交换群
  • CentOS9 Stream 设置禁用IPV6
  • sqlserver、达梦、mysql的差异
  • Android Handler消息机制(五)-HandlerThread完全解析
  • 电子信息-毕业设计题目(技术热点)
  • LeetCode 热题 100 回顾10
  • 实践甘肃数据挖掘挑战赛作物与杂草的智能识别,基于高精度YOLOv5全系列【n/s/m/l/x】参数模型开发构建田间低头作物杂草智能化检测识别模型
  • Android adb命令获取设备id
  • MyBatis版图书管理系统
  • 【渗透测试】01-信息收集-名词概念
  • 算法复杂度分析:深入剖析最好、最坏、平均、均摊时间复杂度