[第一章 web入门]SQL注入-2

拿到题目后看提示,要自主访问两个页面

[第一章 web入门]SQL注入-2_第1张图片

访问login.php后,是一个登录界面,直接测试注入类型

[第一章 web入门]SQL注入-2_第2张图片

第一件事还是输入常用账户名admin,密码随便输入

回显账号或者密码错误

[第一章 web入门]SQL注入-2_第3张图片

这种登录界面一般都是字符型注入,所以测试一下闭合符,没想到页面回显账号不存在

说明只有在账号为真时,回显账号或密码错误

如果账号错误,回显账号不存在

[第一章 web入门]SQL注入-2_第4张图片

知道这一特性,我们就可以利用回显进行盲注

首先测试闭合符为单引号

[第一章 web入门]SQL注入-2_第5张图片

数据库名称长度测试为4

[第一章 web入门]SQL注入-2_第6张图片

知道数据库长度后,我们就利用burp抓包进行爆破,按照顺序获得数据库名称

如果爆不出来,有很多429状态码的响应页时,可以考虑换网络或者降低爆破线程

[第一章 web入门]SQL注入-2_第7张图片

测试出一共包含两个表,select被过滤掉了

但是居然没提示,我都检查了好几遍我注入的语句是否正确,最后还是看wp出来的

admin' and (SEleCt count(table_name)from information_schema.tables where table_schema=database())>1#
[第一章 web入门]SQL注入-2_第8张图片

看wp才知道可以降低难度,以后还是要先看源码信息

测试第一张表的长度为4

admin' and (length((SeleCt table_name from information_schema.tables where table_schema = 'note' limit 0,1)))>1#
[第一章 web入门]SQL注入-2_第9张图片

查询到第一个表名称

admin' and (substr((SeleCt table_name from information_schema.tables where table_schema = 'note' limit 0,1),1,1))>'a'#
[第一章 web入门]SQL注入-2_第10张图片

查询fl4g表中的字段名

[第一章 web入门]SQL注入-2_第11张图片

因为爆破的数据较长,而且burp爆破模块我这里不知道咋自动排序,所以可以采取导出数据存储为excel排序输出,或者用一段python代码输出

[第一章 web入门]SQL注入-2_第12张图片

你可能感兴趣的:(sqli-lab,sql,数据库)