Web安全—information_schema数据库

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

一:information_schema数据库

基础:information_schema是一个存放了当前数据库管理系统中所有数据库信息的一个数据库,数据库只能进行读取,不支持修改(增,删,更新)
mysql5.0以下:多用户单操作,不存在information_schema数据库
mysql5.0以上:多用户多操作,存在information_schema数据库

information_schema数据库说明:
重要表说明:
1,information_schema.schemata表:此表存放了当前数据库管理系统下所有的数据库,效果等同于show databases;命令

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;

3,information_schema.columns表:此表存放了当前数据库管理系统中所有的列名

table_name列:记录当前数据库管理系统下表的合集
table_schema列:记录当前数据库管理系统下数据库名的合集
column_name列:记录当前数据库管理系统下的所有列的合集
例如:查看数据库名称为websec下所有的列,语句:select column_name from information_schema.columns where table_schema='websec';

SQL注入利用思路:SQL注入利用information_schema数据库思路(mysql版本高于5.0版本)
1,如果某Web网站存在SQL注入,通过select database()函数可以判断当前数据库,select version()select user()判断当前数据库版本和当前登陆数据库用户

2,使用information_schema.table查询当前数据库包含哪些表,语句:
select table_name from information_schema.tables where table_schema='websec';

3,通过步骤2所查表名获取当前当前表中的列:语句:
select column_name from information_schema.columns where table_name='websec';

4,通过所查列名,数据表,数据库名获取当前数据库信息,达到可利用信息的获取,语句:
select * from websec.websec;或select id,name,sex from websec;

如果获取到的信息包括账户和密码,则可以通过目录爆破找到后台登陆页面,通过SQL注入获取到的账户和密码登陆网站后台,然后通过其他手段,例如文件上传等利用,获取webshell,拿到Web应用服务器权限。

二:其他常见函数补充

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

三:SQL注入常见分类

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

参考学习文章:

SQL注入漏洞详解
SQL注入—MYSQL基础语句(持续更新)附图

Web安全—information_schema数据库详解基础补充相关推荐

  1. h2 不能访问localhost_SpringBoot2.x系列教程44--H2数据库详解及搭建Web控制台

    SpringBoot2.x系列教程44--H2数据库详解及搭建Web控制台 作者:一一哥 我在上一章节中讲解了Spring Boot中整合Mybatis,接下来我给大家介绍一款内存数据库--H2. H ...

  2. bt协议详解 基础篇(上)

    bt协议详解 基础篇(上) 最近开发了一个免费教程的网站,产生了仔细了解bt协议的想法,所以写了这一篇文章,后续还会写一些关于搜索和索引的东西,都是在开发这个网站的过程中学习到的技术,敬请期待. 1 ...

  3. 【poi-3.8】poi解析excel插入数据库详解

    文章目录 poi解析excel&插入数据库详解 说明 一.目的 二.准备工作 三.思路分析 四.流程图分析 五.核心代码 1:上传文件 2:获取输入流 3:初始化excel表 4:遍历行和列 ...

  4. 分布式系统详解--基础知识(概论)

                           分布式系统详解--基础知识(概论) 一. 引言         由于网上介绍的分布式的系统讲解并没有多少,所以在这儿就希望可以写一套系统的分布式的详解,未 ...

  5. php表单提交到数据库详解

    一般朋友们逛一些网站的时候,想使用网站或者看到更多网站里的内容,网站会要求用户进行新用户的注册,网站会把新用户的注册信息存入数据库中,需要的时候再进行提取. 这样网站就会首先创建自己的数据库和对应的表 ...

  6. pandas读写MySQL数据库详解及实战

    pandas读写MySQL数据库详解及实战 SQLAlchemy是Python中最有名的ORM工具. 关于ORM: 全称Object Relational Mapping(对象关系映射). 特点是操纵 ...

  7. java web编码详解_java web 开发 编码问题详解

    java web 开发 编码问题详解 浏览器 IE/FireFox ------------->Servlet容器-------------------------->显示页面 编码   ...

  8. window 程序报错 自动重启_好程序员web前端教程之详解JavaScript严格模式

    好程序员web前端教程之详解JavaScript严格模式,严格模式(Strict mode)是由ECMA-262规范定义的新兴JavaScript标准,发布于2009年12月第五版.旨在改善错误检查功 ...

  9. JWT(Json web token)认证详解

    JWT(Json web token)认证详解 什么是JWT Json web token (JWT), 是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准((RFC 7519).该to ...

  10. mysql命令导入导出数据库_MYSQL命令行导入导出数据库详解

    Mysql命令行导入数据库: 1,将要导入的.sql文件移至bin文件下,这样的路径比较方便 2,同上面导出的第1步 3,进入MySQL:mysql -u 用户名 -p 如我输入的命令行:mysql ...

最新文章

  1. xshell添加脚本
  2. shell的变量以及常见符号
  3. wxpython使用简介_wxpython简介
  4. (软件工程复习核心重点)第十二章软件项目管理-第三节:人员组织和质量保证
  5. AttributeError: ‘str‘ object has no attribute ‘copy
  6. 一款被大家低估的微服务场景下性能问题排查神器!
  7. 使用AjaxPro实现ajax效果
  8. i3wm开启自动设置显示器顺序方向分辨率
  9. 拆t460拆机图解_ThinkPad T460P评测,二楼附ThinkPad T460P拆机图
  10. C++在windows下获得运行主机的硬件信息:CPU序列号、MAC地址、硬盘序列号、主板序列号
  11. 一次函数的斜率公式_直线斜率k的公式
  12. JavaWeb源码网上商城系统a
  13. html点击图片局部放大,鼠标单击实现放大镜图片局部放大效果
  14. sketch软件_8款原型设计工具与Sketch的强强组合,轻松构建交互原型
  15. php中大于等于的表示方法,php大于等于符号
  16. Myeclipse中编辑Jsp时解决光标乱跑的方法
  17. PhD Debate-11 预告 | 矛与盾的对决——神经网络后门攻防
  18. 基于OpenCV的土壤裂缝分割系统
  19. 《罗辑思维》第31期:你的女神你不懂
  20. sqlServer简单建数据库,建表操作

热门文章

  1. data 谷歌浏览器更改user 路径_谷歌浏览器修改缓存路径
  2. 使用Scrapy框架爬取网页并保存到Mysql
  3. 导航栏隐藏的正确方式
  4. AB Test AA Test
  5. ajax几种回调函数
  6. IEEE Trans LaTex模板参考文献格式
  7. 计算机思维在英语专业的应用,英语专业在计算机科学中的重要性
  8. 扫盲:Java 后端开发常用的 10 种第三方服务
  9. 结构设计——常用机械设计软件对比
  10. 图片怎样放大后不模糊?