Web安全—information_schema数据库详解&基础补充

这篇具有很好参考价值的文章主要介绍了Web安全—information_schema数据库详解&基础补充。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Web安全—information_schema数据库

前言:在SQL注入中,information_schema数据库中包含的信息特别重要,通过这个表我们可以去获取到存在SQL注入网站的表,列,等信息,其危害不言而喻。

一:information_schema数据库

基础:information_schema是一个存放了当前数据库管理系统中所有数据库信息的一个数据库,数据库只能进行读取,不支持修改(增,删,更新)
mysql5.0以下:多用户单操作,不存在information_schema数据库
mysql5.0以上:多用户多操作,存在information_schema数据库
Web安全—information_schema数据库详解&基础补充
information_schema数据库说明:
重要表说明:
1,information_schema.schemata表:此表存放了当前数据库管理系统下所有的数据库,效果等同于show databases;命令
Web安全—information_schema数据库详解&基础补充
schema_name列:其包含了当前数据库管理系统中所有的数据库,如上
SQL注入利用:可通过语句:
select schema_name from information_schema.schemata; 获取到当前数据库管理系统中所有的数据库
2,information_schema.tables表: 此表存放了当前数据库管理系统下所有数据库的表,效果等同于所有数据库下show tables的合集
table_name列:此列记录当前数据库管理系统中所有表的合集
table_schema列:此列记录当前数据库管理系统中所有数据库的合集,可通过语句查看:select table_schema from information_schema.tables limit 1,5;
Web安全—information_schema数据库详解&基础补充
3,information_schema.columns表:此表存放了当前数据库管理系统中所有的列名
Web安全—information_schema数据库详解&基础补充
table_name列:记录当前数据库管理系统下表的合集
table_schema列:记录当前数据库管理系统下数据库名的合集
column_name列:记录当前数据库管理系统下的所有列的合集
例如:查看数据库名称为websec下所有的列,语句:select column_name from information_schema.columns where table_schema='websec';
Web安全—information_schema数据库详解&基础补充
SQL注入利用思路:SQL注入利用information_schema数据库思路(mysql版本高于5.0版本)
1,如果某Web网站存在SQL注入,通过select database()函数可以判断当前数据库,select version()select user()判断当前数据库版本和当前登陆数据库用户
Web安全—information_schema数据库详解&基础补充

2,使用information_schema.table查询当前数据库包含哪些表,语句:
select table_name from information_schema.tables where table_schema='websec';
Web安全—information_schema数据库详解&基础补充
3,通过步骤2所查表名获取当前当前表中的列:语句:
select column_name from information_schema.columns where table_name='websec';
Web安全—information_schema数据库详解&基础补充
4,通过所查列名,数据表,数据库名获取当前数据库信息,达到可利用信息的获取,语句:
select * from websec.websec;或select id,name,sex from websec;
Web安全—information_schema数据库详解&基础补充
如果获取到的信息包括账户和密码,则可以通过目录爆破找到后台登陆页面,通过SQL注入获取到的账户和密码登陆网站后台,然后通过其他手段,例如文件上传等利用,获取webshell,拿到Web应用服务器权限。

二:其他常见函数补充

mysql其他基础和常见函数可参考文章:SQL注入—MYSQL基础语句(持续更新)附图
concat(username):将查询到的username连在一起,默认通过逗号分隔
group_concat(username):将查询到的username连在一起,默认通过逗号分隔
group_concat(str1,‘?’,‘str2’):将查询到的内容通过问号分隔开,concat同样也适用
Web安全—information_schema数据库详解&基础补充

三:SQL注入常见分类

1,按照注入点类型分类
数字型
字符型
搜索型
2,按照注入点位置分类
GET
POST
Cookie
HTTP头部(XFF,User-Agent,REFERER等)
3,按照回显类型分类
基于事件的盲注
基于布尔类型的盲注
报错注入
联合注入
堆查询注入(执行多条语句的情况下)

参考学习文章:

SQL注入漏洞详解
SQL注入—MYSQL基础语句(持续更新)附图文章来源地址https://www.toymoban.com/news/detail-402127.html

到了这里,关于Web安全—information_schema数据库详解&基础补充的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • MySQL 8.0 Reference Manual(读书笔记86节-- InnoDB INFORMATION_SCHEMA Tables(2))

    The following tables provide metadata for FULLTEXT indexes: 概述 • INNODB_FT_CONFIG: Provides metadata about the FULLTEXT index and associated processing for an InnoDB table. • INNODB_FT_BEING_DELETED: Provides a snapshot of the INNODB_FT_DELETED table; it is used only during an OPTIMIZE TABLE maintenance operation. When OPTIMIZE TABLE is run, the INNO

    2024年04月10日
    浏览(45)
  • MySQL 8.0 Reference Manual(读书笔记85节-- InnoDB INFORMATION_SCHEMA Tables(1))

    This section provides information and usage【ˈjuːsɪdʒ 使用;(词语的)用法,惯用法;利用;利用率;】 examples for InnoDB INFORMATION_SCHEMA tables. InnoDB INFORMATION_SCHEMA tables provide metadata, status information, and statistics about various aspects of the InnoDB storage engine. You can view a list of InnoDB INFORMATION_SCHEMA tables by

    2024年04月09日
    浏览(40)
  • sql 1044 - Access denied for user ‘root‘@‘localhost‘ to database ‘information_schema‘

    这是sql数据库执行问题。 错误原因:未打开数据库直接导入sql文件。 解决步骤: 1.正确打开数据库。 数据库如下第一个为绿色 2.右击该数据库,选择新建数据库,输入数据库名,对应的字符集和规则,一般为utf8,规则为utf8_general_ci。 utf8和utfmb4区别: utfmb4 兼容 utf8 且可以

    2024年02月06日
    浏览(39)
  • 解决thinkphp6读取sqlserver报Microsoft[SQL Server]对象名 ‘information_schema.tables‘ 无效错误

    先感谢思路 https://weiku.co/article/37/ 需要修改thinkphp里面sqlserver数据库驱动,不要去改composer里面的东西。所以只能自己重写驱动,并且在database.php配置文件中,显示指定builder和type参数来完成非侵入式的修改。 2个核心文件代码 FunSqlsrv.php FunSqlsrv.php 参考 https://weiku.co/article/37/

    2024年02月11日
    浏览(43)
  • 如何安全地变更数据库 Schema

    最近 Reddit 的 r/golang 下有人问了一个如何做数据库 schema 变更的问题,不到一天,就有了超过 40 条回复。 数据库 schema 变更一直是让程序员头疼的问题,但又不得不面对,毕竟业务要发展,产品要迭代,添加新的功能往往需要去修改数据库的结构,比如添加一个新的字段来保

    2024年02月10日
    浏览(49)
  • 【Jetpack】使用 Room Migration 升级数据库并导出 Schema 文件 ( Schema 文件简介 | 生成 Schema 文件配置 | 生成 Schema 文件过程 )

    使用 Room Migration 升级数据库 , 需要根据当前数据库版本和目标版本编写一系列 Migration 迁移类 , 并生成一个升级的 Schema 文件 , 该文件是 json 格式的文件 , 其中包含如下内容 : 版本信息 : 包括 当前版本 和 目标版本 ; 创建表语句 : 包括 新增的表的 定义 和 字段信息 ; 删除表语

    2024年02月09日
    浏览(50)
  • 数据库模式(schema)是什么?

    在数据库的术语中,模式(schema)是一个逻辑概念,用于组织数据库中的对象。模式中的对象通常包括表、索引、数据类型、序列、视图、存储过程、主键、外键等等。 模式可以为数据库对象提供逻辑隔离功能,不用应用程序可以使用各自的模式,实现安全的访问权限控制。

    2024年02月06日
    浏览(48)
  • 【PostgreSQL】连接pg数据库Schema切换

    由于PostgreSQL数据库模式(schema)存在多个,原先的表单是默认采用public但是查询表和字段时候有查询所有未进行过滤,导致数据库连接失败、查表字段也为空(空即查询服务端异常错误) 数据库连接配置 添加参数补充 ?currentSchema=dwd 譬如: username=root;password=XXXX;url=jdbc:postg

    2024年02月11日
    浏览(50)
  • 一文详解向量数据库Milvus Cloud动态 Schema

    在数据库中,Schema 常有,而动态 Schema 不常有。     例如,SQL 数据库有预定义的 Schema,但这些 Schema 通常都不能修改,用户只有在创建时才能定义 Schema。Schema 的作用是告诉数据库使用者所希望的表结构,确保每行数据都符合该表的 Schema。NoSQL 数据库通常都支持动态 Schema

    2024年01月18日
    浏览(51)
  • Hive(14):Database|schema(数据库) DDL操作

    1 Create database Hive中DATABASE的概念和RDBMS中类似,我们称之为数据库。在Hive中, DATABASE和SCHEMA是可互换的,使用DATABASE或SCHEMA都可以。 COMMENT:数据库的注释说明语句 LOCATION:指定数据库在HDFS存储位置,默认/user/hive/warehouse WITH DBPROPERTIES:用于指定一些数据库的属性配置。 下面

    2024年02月11日
    浏览(59)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包