①mysql数据库结构
来源:互联网 发布:长春学历网络教育报名 编辑:程序博客网 时间:2024/06/01 22:00
SQL注入
SQL 注入(SQL injection),是一种存在于应用程序与数据库之间的安全漏洞。简而言之,SQL注入是这样一种漏洞:应用程序在向后台数据库传递SQL查询时,如果为攻击者提供了影响该查询的能力,就会引发SQL注入。攻击者通过影响传递给数据库的内容来修改SQL自身的语法和功能,并且会引发SQL所支持数据库和操作系统的功能和灵活性。
SQL注入的分类如下图所示:
mysql数据库
mysql数据库是一种关系型数据库。
mysql数据库的结构如下图所示:
mysql中存在很多数据库、每个数据库中保存很多数据表、每个数据表中保存很多字段、每个字段当中保存着很多数据项、对应的数据项组成一条录。
例如,下面就是一种典型的mysql数据库记录:
- {李明,1205090123,男,23,北京}
如上图所示,对于mysql数据库的sql注入,我们要按照其数据库结构的特点来进行注入。
- 首先,得到当前数据库名。
- 然后,得到当前数据库的表名。
- 接着,得到当前表下的各个字段名。
- 最后,得到当前表的各个字段的数据项。
“白盒”枚举mysql数据库
这里的“白盒”是指注入者知道mysql数据库结构以及mysql数据库内容的情况。
这时,我们对mysql数据库的枚举操作一般如下:
①枚举数据库名
②枚举当前数据库的表名
③枚举当前数据表的字段名和数据项
“黑盒”枚举mysql数据库
这里的“黑盒”是指注入者知道mysql数据库结构以及mysql数据库内容的情况。这也是我们在学习SQL注入一般环境。
对于mysql数据库(版本大于5.0)而言,mysql中存在一个Information_Schema数据库,这是mysql自带的数据库,它用来访问mysql数据库元数据(数据库名、表名、列名、数据类型,访问权限等)。
其中, Information_Schema数据库中有三张表值得我们重点关注:
SCHEMATA表:提供了当前mysql实例中所有数据库的信息。
TABLES表:提供了关于数据库中的表的信息(包括视图)。详细表述了某个表属于哪个schema,表类型,表引擎,创建时间等信息。
COLUMNS表:提供了表中的列信息。详细表述了某张表的所有列以及每个列的信息。
这时,我们对mysql数据库的枚举操作一般如下:
- ①枚举数据库名
sql语句为:
select schema_name from information_schema.schemata
- ②枚举当前数据库的表名
sql语句为:
select table_name from information_schema.tables where table_schema = "security";
- ③枚举列名
sql语句为:
select column_name from information_schema.columnswhere table_name = "users";
- ④枚举数据项内容
- ①mysql数据库结构
- Jabberd2 MySQL数据库结构
- MYSQL 优化数据库结构
- mysql优化-数据库结构
- mysql数据库&表结构
- MySQL数据库结构同步
- Mysql数据库结构优化
- Mysql查询数据库表结构
- mysql数据库表结构导出
- 各种数据库大体结构,mysql
- mysql数据库表结构导出
- mysql数据库结构比较工具
- mysql导出数据库的结构
- Mysql数据库表结构备份
- mysql导出数据库表结构
- 查询mysql数据库结构sql
- mysql数据库表结构导出
- 数据库mysql的基础结构
- Candy 分配糖果
- Java程序连接数据库(mysql,sql server)以及出现的问题解决
- 欢迎使用CSDN-markdown编辑器
- HTML中的window对象和document对象
- CentOS 6.4安装配置LNMP服务器(Nginx+PHP+MySQL)
- ①mysql数据库结构
- HTTP协议详解
- 更改nginx网站根目录
- 多项式计算
- JSP九大内置对象详解
- 在CentOS中配置静态ip,并连接外网
- Man
- gradle入门
- const使用注意事项