目录
SQL注入基本方法
1.联合查询
由于数据库中的内容会回显到页面中来,所以可以使用联合查询进行注入。
联合查询就是利用 union select 语句,该语句会同时执行两条select语句。
附: 必要条件
两条select 语句查询结果具有相同列数
对应的列 数据类型相同
2.报错注入
在注入的判断过程中,发现数据库中SQL语句的报错信息,会显示在页面中,因此可以利用报错信息进行注入。
注入原理:在错误信息中执行SQL语句。
注:触发报错的方式有很多,具体细节也都不一样
☻group by 重复键冲突
关键词floor rand
☻Extractvalue()
☻Updatexml()
3.布尔盲注
页面中有布尔类型的状态,可以根据布尔类型状态,对数据库的内容进行判断。
前提条件: 没得回显,没得报错。
验证:
?id=3' and 1=1 --+
?id=3' and 1=2 --+
没出现报错,以及回显id链接界面,表示此页面有布尔盲注漏洞。
4.延时注入
利用sleep()语句的延时性,以时间线作为判断条件
前提条件:没得回显、没得报错、没得布尔类型状态。
If (表达式,sleep(5),1)
SQLMAP 工具
SQL注入神器,集成在Kali中
升级SQLmap
sudo apt-get update 更新软件列表
sudo apt-get install sqlmap 重新安装 Sqlmap ;