SQL注入攻击专题

盲注,从字面意思理解就是看不见的注入,其实这还是属于注入的一种,只是表现形式不同。盲注是不能通过直接显示的途径来获取数据库数据的方法。在盲注中,攻击者根据其返回页面的不同来判断信息(可能是页面内容的不同,也可以是响应时间不同)。也就是说执行插入的语句后,不管是否执行,是否成功,都不会回显详细的错误信息,不像普通注入一样那么容易判断。但是,注入攻击还是发生了,只是错误信息被屏蔽掉了,请记住这个就好。一般情况下,盲注可分为三类:

    Booleanbase  普通盲注

    Timebase     基于时间的盲注

    Errorbase     基于报错的盲注


现在不知道有没有注入,直接在后面加个’,和上个实验对比,现在直接返回什么都没有,上个实验就直接报错,这就是它不好判断的地方,实际上这里已经发生SQL注入攻击,只不过是没有把错误信息显示出来

    现在可以构造攻击语句,先查询数据库名、用户名、数据库版本等基本信息,然后获取表明列名等数据。

    其实用的原来的语句是这样的

    UNION SELECT 1,CONCAT_WS(CHAR(32,58,32),user(),database(),version())

    Concat_ws就是一个字符串连接函数,为了更简单理解就去掉了这个函数,分开测试,并不影响测试结果。

注意:输入必须按我的输入,要有单引号的:

 '   UNION SELECT 1,CONCAT_WS(CHAR(32,58,32),user(),database(),version()) '


Information_schema数据库基本表说明:

      schemata表:提供了当前mysql实例中所有的数据库信息,show databases的结果就是从该表得出。具体表可通过phpstudy中MySQL管理器查看。

      tables表:提供了关于数据库中的所有表的信息,即表属于哪个schema,表的创建时间、表的类型等,show tables fromschemaName的结果就是从该表得出。

      columns表:提供表中所有列信息,即表明了表中所有列及每列的信息,show columns from schemaName.tableName的结果就是从该表得出。

现在可以查询表名列名和数据了,利用的是Mysql的系统函数,很容易查询出想要的数据

 查询表名

union select table_name from information_schema.tables where table_schema=0x64767761

    先介绍一下,information_schema数据库是MySQL自带的,它提供了访问数据库元数据的方式(元数据是关于数据的数据,如数据库名或表名,列的数据类型,或访问权限等)。在MySQL中,把 information_schema 看作是一个数据库,确切说是信息数据库。其中保存着关于MySQL服务器所维护的所有其他数据库的信息。如数据库名,数据库的表,表栏的数据类型与访问权 限等。在INFORMATION_SCHEMA中,有数个只读表。它们实际上是视图,而不是基本表。

    table_name就是要查询的存储表明

    table_schema数据库名的十六进制,0x64767761就是dvwa

    limit函数是指定取出的记录,方便理解也可以先去掉

实战代码:注意单引号,和末尾的-- ,一定要有空格,注释掉后面的内容

' union select 1,table_name from information_schema.tables --

扩展查找数据库名:

' union select 1,table_schema from information_schema.tables --


查询列名

union select 1,column_name from information_schema.columns where table_name=0x7573657273 and table_schema=0x64767761

    column_name要查询的存储列名

    table_name=0x7573657273这里多了一个这个,这是表名的十六进制,也就是users表

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值