SQL注入-脱库

本文阅读 2 分钟
首页 安全分享,WEB安全 正文

确认网站存在SQL注入时,可以对其进行脱库,即获取数据库表中的内容,比如用户的敏感信息

注意 : MySQL5.0以后 才有information_schema这个默认数据库

一库三表六字段

 MySQL数据库中有一个默认数据库 information_schema

这个数据库中有三张特殊的表 

  • schemata表 , 存储了所有数据库的名字
  • tables表 , 存储了所有表的名字
  • columns表 , 存储了所有字段的名字

这三张特殊的表中有六个敏感字段

  • schemata表的 schema_name字段 , 存储数据库名
  • tables表的 table_name字段 , 存储表名
  • tables表的 table_schema字段 , 存储表所在的数据库
  • columns表的 column_name字段 , 存储字段名
  • columns表的 table_name字段 , 存储字段所在的表
  • columns表的 table_schema字段 , 存储字段所在的数据库

脱库的步骤

具体的SQL需要根据注入类型进行动态变化

查询 information_schema数据库的 schemata表 的 schema_name字段 , 获取所有数据库

select schema_name 
from information_schema.schemata;

 查询 information_schema数据库的 tables表的 table_name字段 , 获取所有表(指定数据库)

select table_name 
from information_schema.tables
where table_schema='security' limit 1,1

查询 information_schema数据库的 columns表的 column_name字段 , 获取所有字段(指定表)

select column_name 
from information_schema.columns
where table_schema='security' 
and table_name='users' limit 1,1

 调整 limit 展示不同的分页 , 从而获取到不同的数据 ,

获取到所有表和字段以后 , 即可获取表中的数据

select username
from security.users limit 1,1;
本文为互联网自动采集或经作者授权后发布,本文观点不代表立场,若侵权下架请联系我们删帖处理!文章出自:https://blog.csdn.net/wangyuxiang946/article/details/118250361
-- 展开阅读全文 --
Redis底层数据结构--跳跃表
« 上一篇 04-28
BUUCTF Web [强网杯 2019]随便注
下一篇 » 06-24

发表评论

成为第一个评论的人

热门文章

标签TAG

最近回复