声明:该系列所揭示的漏洞目前厂家已经全部修复,此处发布相关的内容只为提供学习用途,请勿做其他恶意破坏。
一、存储型跨站攻击
1)进入平台账户=>财务管理=>资金账户=>添加一条资金账户信息(以添加ETH账户为例),填写资金账户信息,点击“提交”时抓包,添加攻击js代码:
2)提交后,查看前端页面被攻击效果:
查看浏览器加载内容:
3)XSS平台获取到被害者账户信息:
二、重置任意用户密码
(该重置方式只针对采用邮箱注册的用户,且未添加其他二次认证方式,或其他二次认证方式已关闭):
1)点击忘记密码,使用邮箱找回的方式找回密码,填写攻击者账户重置信息:
2)提交后,攻击者邮箱会接收到一份重置密码的链接,其中uid对应的是攻击者的uid:
3)直接请求这个链接,填写需要重置的用户密码,可以看到这里本来重置的对象是用户133436:
4)点击下一步时抓包,修改数据包的fid参数字段为被害者的用户id:
5)这里把fid修改为了133464,表示重置用户id为133464的用户密码。从服务器的返回可以看出,修改被害者密码成功:
修复方案:
1)系统过滤用户提交的js代码。
2)最后一步重置密码的步骤中一定要检测fid指定的用户是否是接收邮件验证的用户。