Eswlnk Blog Eswlnk Blog
  • 资源
    • 精彩视频
    • 破解专区
      • WHMCS
      • WordPress主题
      • WordPress插件
    • 其他分享
    • 极惠VPS
    • PDF资源
  • 关于我
    • 论文阅读
    • 关于本站
    • 通知
    • 左邻右舍
    • 玩物志趣
    • 日志
    • 专题
  • 热议话题
    • 游戏资讯
  • 红黑
    • 渗透分析
    • 攻防对抗
    • 代码发布
  • 自主研发
    • 知识库
    • 插件
      • ToolBox
      • HotSpot AI 热点创作
    • 区块
    • 快乐屋
    • 卡密
  • 乱步
    • 文章榜单
    • 热门标签
  • 问答中心反馈
  • 注册
  • 登录
首页 › 渗透分析 › 关于Youkia社区重置密码以及登录请求的分析研究

关于Youkia社区重置密码以及登录请求的分析研究

Eswlnk的头像
Eswlnk
2021-09-04 19:00:17
关于Youkia社区重置密码以及登录请求的分析研究-Eswlnk Blog
智能摘要 AI
本文首先回顾了作者在抖音上重新发现Youkia社区的历程,以及其曾经推出的植物大战僵尸OL游戏带来的美好回忆。接着,作者分析了Youkia社区的重置密码机制,发现其通过邮件发送MD5加密的新密码,但缺乏有效的心跳机制,使得现有登录用户不会因密码重置而被迫下线。作者进一步揭示了通过伪造请求可以实现密码重置,但由于缺少时间戳验证,可能导致密码再次随机化。此外,作者还探讨了Youkia社区修改邮箱账号功能的实现方式,通过拦截和修改相关JS文件,使原本被禁用的功能得以启用。然而,尝试更改邮箱时,服务器返回繁忙错误,未能成功完成操作。最后,作者推测号贩可能利用上述漏洞登录用户账号并进行洗号等恶意行为。本文提醒读者注意账户安全,防范潜在风险。

0x00 写在前面的话

最近无聊在抖音上刷视频时,偶然间刷到了Youkia社区,瞬间就勾起了当年的游戏记忆

关于Youkia社区重置密码以及登录请求的分析研究-Eswlnk Blog
Youkia社区抖音

当年植物大战僵尸ol非常火爆的时候,Youkia也推出了属于它们自己的PVZ游戏

每天守在这个游戏面前等待着日常任务的更新,可以算是当年的快乐

由于近些年新社交应用的兴起,Youkia社区也是逐渐被淘汰,最后被收购合并,现在的Youkia的家园就只剩下了唯一的两个游戏入口和账户信息的修改

关于Youkia社区重置密码以及登录请求的分析研究-Eswlnk Blog
Youkia家园
关于Youkia社区重置密码以及登录请求的分析研究-Eswlnk Blog
Pvz社区公告

0x01 重置密码请求的研究

在我找到pvzol的组织后,我发现总是有那么些人打着卖资源号的幌子去zha骗一些萌新,为了搞清楚他们是如何做到洗号的,我对Youkia社区的重置密码开始了简单的分析。

找回密码界面

首先我们来到找回密码界面

关于Youkia社区重置密码以及登录请求的分析研究-Eswlnk Blog

确实有够简洁的,非常符合十年前的审美观,就只有一个简单的电子邮件找回密码

关于Youkia社区重置密码以及登录请求的分析研究-Eswlnk Blog

抓包处理

只要是网络通信,那么我们就有机会通过抓包来获取到一些蛛丝马迹

打开fiddler后,配置好过滤规则,我们输入注册时使用的邮箱地址

关于Youkia社区重置密码以及登录请求的分析研究-Eswlnk Blog

并且正常发送了重置密码的请求,并且在邮箱中也是收到了由Youkia社区发来的找回密码的邮件

不过值得一提的是,这里我发送重置密码的请求后,Youkia社区仍然是处于登录状态,并且没有下线,如果猜测正确的话,它的社区并没有心跳这一说法,不能强制下线。并且原密码已经无法再次登录Youkia社区,必须通过点击邮件中的重置邮件地址激活发送的新密码,重新登录Youkia社区

关于Youkia社区重置密码以及登录请求的分析研究-Eswlnk Blog

分析请求

关于Youkia社区重置密码以及登录请求的分析研究-Eswlnk Blog

参数如下:

NameValue
xajaxpasswordfind
xajaxr1630727499376
xajaxargs[]1525566427@qq.com
xajaxargs[]undefined
请求参数

PS:由于这里请求带有数组,所以重放请求时需要对应参数位置,不要混乱,否则后台是无法下标获取数据

大致分析下,xajax对应的的是action,xajaxr对应的是一串13位的数字

这里我首先想到的是时间戳,不过常见的都是10位,半信半疑下我还是去转换了下Unix时间戳(13位毫秒)

关于Youkia社区重置密码以及登录请求的分析研究-Eswlnk Blog
Unix时间戳转换

Bingo,猜想正确,xajaxr对应的是发送重置密码时的时间点,并且与重置的密码相对应

邮件密码分析

关于Youkia社区重置密码以及登录请求的分析研究-Eswlnk Blog
重置密码邮件

发送重置密码的请求后,我们会受到由Youkia社区发来的一封邮件,包含了Youkia系统生成的新密码和激活新密码的链接,点击链接后即可通过新密码登录

注意链接的Get参数:

NameValue
emailxxxx@qq.com
strcb623efd6c42c884ab4a4244a75b723d
Get请求参数

str这一段就比较有趣,一共是32个字符,这里我联想到了32位的md5值

明文:692VKJH2

密文:cb623efd6c42c884ab4a4244a75b723d

关于Youkia社区重置密码以及登录请求的分析研究-Eswlnk Blog

通过比对后确认,验证密码的链接str参数的值就是登陆密码的md5值

0x02 伪造密码请求

至此,我们可以通过伪造重置密码请求,达到修改密码的效果

例如,设置xxx@qq.com的密码为Q28EO1HI

md5加密后的密文为:f860ec2526a33c44547c87f67189e9c8

关于Youkia社区重置密码以及登录请求的分析研究-Eswlnk Blog
ApiPost请求

请求后,我们成功重置了该邮箱的密码,不过想要再次登录的话,不论你输入什么密码都会显示错误,密码已经随机

猜测:由于确认重置密码时并没有时间戳这个参数,导致后台无法确认是哪个密码,导致密码再次随机

0x03 启用修改邮箱账号功能

关于Youkia社区重置密码以及登录请求的分析研究-Eswlnk Blog
修改账号

在Youkia社区,还有一个尘封已久的功能,通过验证新的E-mail地址,修改当前账号的登录电邮,写文章前猜测号贩可以通过此项功能达到目的。

抓取文件

调用浏览器的开发者人员工具,选择提交按钮,审查该元素,得到该按钮绑定的js事件为:edit_email();

避免本地缓存影响搜索结果,进入Network选项,选择 disable cache

关于Youkia社区重置密码以及登录请求的分析研究-Eswlnk Blog
开发者人员工具

搜索函数名:edit_email(),定位该函数所在js文件,并且通过抓包单独下载下来,或者在fiddler中保存整个响应,保存到本地桌面或者英文目录。

关于Youkia社区重置密码以及登录请求的分析研究-Eswlnk Blog
定位hhahanhanshhanshu函数

在fiddler中,我们需要选择home.js文件,并且右键→保存为本地文件,打开后进行编辑

关于Youkia社区重置密码以及登录请求的分析研究-Eswlnk Blog
下载文件

通过查看该函数,我们可以明确地看到,更换电邮部分函数被官方注释,并且留下了此功能暂时关闭的提示消息,我们修改时将原来注释的代码恢复,并将此功能暂时关闭注释掉即可。

关于Youkia社区重置密码以及登录请求的分析研究-Eswlnk Blog
edit_mail代码

以下是修改后的函数代码,要确保函数的括号和分号正确,否则会导致js文件问题

function edit_email()
{
	var new_email=$.trim($('#new_email').val());
	if(!isEmail(new_email))
	{
		alert('请正确填写要修改的邮箱');
		$('#new_email').focus();
		return false;
	}
	
	if($('#old_email').html()==$('#new_email').val())
	{
		alert('新的邮箱与原来的邮箱一致,操作不成功');
		$('#new_email').focus();
		return false;
	}
	SetPageDisabled();
	$('#popdiv_body').html('<p class="popdivBlockTxt">新的邮箱地'+new_email+'需通过邮件确认后才能生效<br />请到该邮箱查收邮件并点击确认链接<br />生效后,请用此Email登录你的Youkia帐户</p><p class="popdivSubmitBtn"><a href="javascript:void(0);" onclick="duty_checkemail(\''+new_email+'\')">确定</a></p><p class="popdivSubmitBtn"><a href="javascript:closeDIV($(\'#popdiv\'));">取消</a></p>');
		/*
	$('#popdiv_body').html('<p class="popdivBlockTxt">此功能暂时关闭</p>');
	setCenter($('#popdiv'));
	$('#popdiv').fadeIn('slow');
		*/
	duty_checkemail(new_email);
}

拦截修改关键文件

修改完成后,保存文件,建议不要修改文件名称,并且在fiddler中选择过滤规则,选中home.js后添加到我们的自定义规则中,并且将其替换为我们本地的home.js

关于Youkia社区重置密码以及登录请求的分析研究-Eswlnk Blog
fiddler拦截home.js

启用规则后,在浏览器请求home.js文件时,就会自动响应为本地的文件,达到修改网页js的目的

我录制了一段GIF演示拦截home.js文件的实际效果:

我们可以看到,edit_mail已经被我完全修改了,这时我们再点击修改邮箱账号,就不会再出现功能暂时关闭的字样,不过能否修改,还得看服务器上的功能是否被关闭,有不小心的站长前端写了禁止,但是后端并没有禁用此功能,导致了系统的漏洞。不过Youkia社区的运维应该没有这么粗心,能撤的全部撤了,就剩下了一个游戏和充值系统。

请求修改账号

关于Youkia社区重置密码以及登录请求的分析研究-Eswlnk Blog

点击提交后,系统正常发送了邮件,并且我也在新的邮箱中收到了由find@youkia.com发送的更换账号请求

关于Youkia社区重置密码以及登录请求的分析研究-Eswlnk Blog
重置邮箱账号邮件

该重置账号的链接包含userid和code参数:

NameValue
useridxxxxxx
code32位字符(猜测为md5)
重置密码请求参数

不过该code参数的值嗦对应的是什么md5也不得而知,目前已经将该md5值加入md5后台进行解密,想要得到结果可能还要等待很长一段时间。

关于Youkia社区重置密码以及登录请求的分析研究-Eswlnk Blog
ApiPost request

不过可惜的是,得到结果是服务器无法处理此次请求,并且显示了以下错误:

关于Youkia社区重置密码以及登录请求的分析研究-Eswlnk Blog
服务器繁忙

0x04 盗取猜想

由于我们在上文提到,该游戏和整个社区并没有心跳功能,简要说明,只要拿到你的cookies或者sign的值,那么我们就可以直接对有游戏进行登录。

在我处于登录状态修改密码后,系统只是单一弹出一个密码成功修改的窗口,并没有强制当前用户下线或者游戏下线,这便是该社区甚至整个游戏的一个BUG。在后续的抓包过程中存在interface请求,不过不影响正常游戏和已登录用户。所以可以大胆猜想:

  1. 号贩想方设法登录你的账号
  2. 保存账号的sign值和cookies
  3. 伪造登录请求,直接登录账号或者进行其他洗号行为

以上文章内容仅代表个人观点,如果有兴趣了解关于充值抓包的可以看下这篇文章:

https://blog.eswlnk.com/810.html

本站默认网盘访问密码:1166
本站默认网盘访问密码:1166
ajaxfiddlerhome.jsmd5Youkia抓包
2
1
Eswlnk的头像
Eswlnk
一个有点倒霉的研究牲站长
赞赏
时代变迁,PKI 迎接新挑战
上一篇
如何使用Kyverno保护Kubernetes保护用户免受网络攻击
下一篇

评论 (1)

请登录以参与评论
现在登录

    猜你喜欢

    • 「漏洞资讯」CVE-2025-12914:宝塔面板曝出注入漏洞
    • 「渗透分析」如何防范JS注入?nbcio-boot代码审计攻略大公开
    • 「玩物志趣」Fiddler Everywhere禁止自动更新以及无限试用
    • 「漏洞资讯」多用户管理系统API接口调用存在前台SQL注入漏洞(0day)
    • 「抓包分析」校园网之锐捷网页认证以及L4分析
    Eswlnk的头像

    Eswlnk

    一个有点倒霉的研究牲站长
    1108
    文章
    319
    评论
    679
    获赞

    随便看看

    「玩物志趣」Fiddler Everywhere禁止自动更新以及无限试用
    2024-11-18 18:39:24
    绕过双因素身份验证的主要方法
    2023-05-28 12:25:04
    深入浅出”P牛”版CC1链
    2022-03-27 22:32:25

    文章目录

    专题展示

    WordPress53

    工程实践37

    热门标签

    360 AI API CDN java linux Nginx PDF PHP python SEO Windows WordPress 云服务器 云服务器知识 代码 免费 安全 安卓 工具 开发日志 微信 微软 手机 插件 攻防 攻防对抗 教程 日志 渗透分析 源码 漏洞 电脑 破解 系统 编程 网站优化 网络 网络安全 脚本 苹果 谷歌 软件 运维 逆向
    • 首页
    • 知识库
    • 地图
    Copyright © 2023-2025 Eswlnk Blog. Designed by XiaoWu.
    本站CDN由 壹盾安全 提供高防CDN安全防护服务
    蜀ICP备20002650号-10
    页面生成用时 1.005 秒   |  SQL查询 53 次
    本站勉强运行:
    友情链接: Eswlnk Blog 网站渗透 倦意博客 特资啦!个人资源分享站 祭夜博客 iBAAO壹宝头条
    • WordPress142
    • 网络安全64
    • 漏洞52
    • 软件52
    • 安全48
    现在登录
    • 资源
      • 精彩视频
      • 破解专区
        • WHMCS
        • WordPress主题
        • WordPress插件
      • 其他分享
      • 极惠VPS
      • PDF资源
    • 关于我
      • 论文阅读
      • 关于本站
      • 通知
      • 左邻右舍
      • 玩物志趣
      • 日志
      • 专题
    • 热议话题
      • 游戏资讯
    • 红黑
      • 渗透分析
      • 攻防对抗
      • 代码发布
    • 自主研发
      • 知识库
      • 插件
        • ToolBox
        • HotSpot AI 热点创作
      • 区块
      • 快乐屋
      • 卡密
    • 乱步
      • 文章榜单
      • 热门标签
    • 问答中心反馈