Eswink Eswink
  • 首页
  • 热议
    • 话题
    • 网站公告
  • 红蓝对抗
    • 攻防对抗
    • 渗透分析
  • 资源分享
    • 代码发布
    • 其他分享
  • 本站专题
    • 视频集锦
    • WordPress
    • 工程实践
    • 奇闻趣事
    • 活动线报
  • 问答
  • 绿标域名
  • 关于本站
    • 友情链接
  • 注册
    登录
现在登录。
  • 首页
  • 热议
    • 话题
    • 网站公告
  • 红蓝对抗
    • 攻防对抗
    • 渗透分析
  • 资源分享
    • 代码发布
    • 其他分享
  • 本站专题
    • 视频集锦
    • WordPress
    • 工程实践
    • 奇闻趣事
    • 活动线报
  • 问答
  • 绿标域名
  • 关于本站
    • 友情链接
首页 渗透分析 关于Youkia社区重置密码以及登录请求的分析研究

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

小伍同学 2021-09-04 19:00:17 本文共3543个字,预计阅读时间需要9分钟
1 星2 星3 星4 星5 星 (已有2 点评, 平均得分: 5.00)您还未点评
Loading...

0x00 写在前面的话

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

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

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

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

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

关于Youkia社区重置密码以及登录请求的分析研究图片1
Youkia家园
关于Youkia社区重置密码以及登录请求的分析研究图片2
Pvz社区公告

0x01 重置密码请求的研究

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

找回密码界面

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

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

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

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

抓包处理

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

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

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

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

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

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

分析请求

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

参数如下:

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

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

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

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

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

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

邮件密码分析

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

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

注意链接的Get参数:

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

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

明文:692VKJH2

密文:cb623efd6c42c884ab4a4244a75b723d

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

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

0x02 伪造密码请求

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

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

md5加密后的密文为:f860ec2526a33c44547c87f67189e9c8

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

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

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

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

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

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

抓取文件

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

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

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

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

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

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

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

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

关于Youkia社区重置密码以及登录请求的分析研究图片16
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社区重置密码以及登录请求的分析研究图片17
fiddler拦截home.js

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

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

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

请求修改账号

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

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

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

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

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

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

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

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

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

0x04 盗取猜想

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

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

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

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

/810.html

#ajax#fiddler#home.js#md5#Youkia#抓包
2
小伍同学
一个即将入土的程序猿
赞赏
小伍同学
评论 (0)
请登录以参与评论。
现在登录。
    发表评论
猜你喜欢
  • XSpear XSS漏洞扫描工具|安全工具推荐
  • 威胁情报分享:Android/Bianlian Botnet僵尸网络绕过攻击
  • MacOS应该如何管理CPU内核
  • 关于少于使用PCA进行特征选择的5个理由
  • 详解泛型是如何让你的GO代码变慢
小伍同学
一个即将入土的程序猿
160
文章
78
评论
176
获赞
小伍同学
05 6月, 2021
EswINK正式上线
Copyright © 2020-2022 Eswink. Designed by nicetheme. 川公网安备 51012202000979号 |  萌ICP备20225505号 | 蜀ICP备20002650号-6
当前线路为: 国内线路
本站已安全运行:
本站由酷盾安全提供高防CDN国际线路安全防护服务
友链: Eswink 信息笔记 网站目录 脚本挂机引流赚钱 龙笑天下 HTTP代理 QYV企业商务咨询 镇北府博客 吾爱漏洞 祭夜の咖啡馆 杭州论坛 龙鳞收录网 KIENG博客 Hackyh‘Blog
在线客服
小伍同学
我们将会在24小时内回复您,如果有急事请联系QQ或者微信
12:01
您好,有任何疑问请与我们联系!
公众号

选择聊天工具: