**
sqli-labs(1-10关)
首先知道注入的步骤
注入的步骤可以分为以下几点:
1.判断是否有注入(判断是否未严格校验)–>第一要素
1)可控参数的改变能否影响页面显示结果
2)输入的SQL语句是否能报错-能通过数据库的报错,看到数据库的一些语句痕迹(select username,password from user where id=4 and 0#
3)输入的SQL语句能否不报错-我们的语句能够成功闭合
2.什么类型的注入
3.语句能否被恶意修改—第二要素
4.能否被成功执行----第三要素
5.获取我们想要的数据。
数据库–表—字段–值
第一关
经过尝试可判断第一关存在注入点
(1)寻找注入点
当输入?id=1‘and 1=2--+
出现下面图片说明找到了闭合方式,说明它存在注入点则说明第一关的闭合方式为单引号闭合
找到了注入点之后就要进行注入。注入的时候我们要注意输入的id必须是错误的,不然无法返回出我们想要的信息。
(2)联合注入
1.先查找有几个字段
输入?id=-1’ order by 3--+
时显示
而输入?id=-1' order by 4--+
则显示
说明一共有3个字段,当输入的字段数大于实际的字段数时会出现以上错误。
2.爆数据库
输入
?id=-1‘ union select 1,2,database()--+
时显示
则security为数据库名字
3.爆表名
输入:
?id=