您好、欢迎来到139彩票网!全国聊天QQ群:67866775
锟斤拷锟斤拷锟节碉拷位锟斤拷: 福利彩票双色球开奖结果_双色球开奖结果走势图_福彩双色球开奖结果查询 > 139彩票资讯 > > 锟斤拷锟斤拷

黑帽SEO技术:SQL注入技术进阶之利用SQL注入进行爆库!

锟斤拷锟斤拷锟斤拷福利彩票双色球开奖结果_双色球开奖结果走势图_福彩双色球开奖结果查询 锟斤拷源锟斤拷未知 锟斤拷锟斤拷:admin 时锟斤拷:2018-02-08 16:40

  如果作为一名黑帽客,根本无法知道系统中有哪些表,表中有哪些字段,那如何将数据库的内容窃取出来呢?

  答案就是MySQL数据有一个元数据库,它会描述整个MySQL服务器有哪些数据库,每个数据有哪些表,每个表有哪些字段,这就相当于把自家房子有什么宝贝统统告诉别人了。

  那这个元数据库就一个根,只要抓住了这根据,沿着:元数据库 -> 数据库列表->表列表->字段列表->表内容

  刚才谈到MySQL里面有个元数据库,但它在藏在哪里呢?别急,请登录MySQL数据库,并运行show databases;命令,就可以获取所有数据库列表,如下图所示:

  图片中标红色的数据库information_schema就是元数据库,里面应用尽有,可以尽情开拓处女地。

  然后再利用TABLES表,则可以看到数据下的表名,再利用COLUMNS表,则可以看到每个表下的字段名。下面依次展示如何查看这些数据。

  有了数据库列表,就可以进一步查看某个数据库下所有表(当前也可以查看所有数据库下的所有表)。比如查看lyt_test数据库下的所有表,使用SQL语句:

  然后使用COLUMNS表可以查询表的所有字段信息,使用下面SQL语句可查询accounts表的所有字段名和类型:

  还记得上篇文章介绍的实验吗?利用SQL注入技术,可以将userinfo表中的所有数据都窃取出来。但该SQL能注入的部分只是WHERE部分,而SELECT ... FROM ...部分中的字段和表名却是无法注入的,那怎么可以将其它表的数据窃取出来呢?

  这个密秘就就是利用UNION语句。是的,标准SQL提供了UNION语句,可以将两个SELECT结果联合起来(即对两个SELECT结果作并集)。UNION语句的语法如下:

  那么在没有拿到源代码的情况,怎么知道 SELECT * from userinfo 查询结果有多少列呢?

  可通过试探方法拿到这个数值:依次注入UNION SELECT 1, ... N这样的语句来试探。先尝试 SELECT 1, 再SELECT 1,2, 然后SELECT 1,2,3,直到不运行出错为止。可以先在MySQL上测试一下,结果下图所示:

  我们在注入时WHERE后是两个条件吗?(name = ‘name′ANDpasswd=′passswd ‘),在实际代码中可能会是更复杂的条件,甚至黑客也很难猜测的条件,那这个UNION语然该插在那个变量呢?使得整个SQL还是个合法的查询语句。

  最好安全的做法是将UNION SELECT ...注入到第一个变量中,然后注入的尾部增加一个注释符号,将后的语句注释掉,就不会考虑后面的是什么语句了。在MySQL数据库,使用#符号即可实现注释。

  以下实验都是基于《SQL注入基础》一文开发的数据库应用demo来实验的,如果读者没有SQL注入的基础知识,建议看看这篇文章;同时建议SQL注入的初学者也按此文搭建相同的数据应用demo来实验测试一把。

  从上面可以发现规律:每个注入可以获取到目标表中的每个列表数据, 如果表中有N表,注入N次可以获取完整的表信息。

  分享最新黑帽SEO优化快速排名技术和学习教程以及最新站群寄生虫蜘蛛池等软件程序并提供黑帽SEO技术性问题解答和灰色词SEO优化排名代做等服务。鸿运来彩票网鸿运来彩票网鸿运来彩票网彩巴巴彩巴巴彩巴巴大富翁彩票大富翁彩票大富翁彩票

锟斤拷锟斤拷锟斤拷QQ微锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷微锟斤拷
锟斤拷品图片锟截诧拷锟狡硷拷
Copyright © 2002-2017 DEDECMS. 织梦科技 版权所有