某网课平台换绑任意手机号
  • 2019-03-11


0x01

因为之前发现一个超星的信息泄露bug,会泄露手机号啥的,想着我不能因为这个接口导致自己手机号泄露了

0x02

打开超星的账号管理界面 修改手机号 获取验证码的时候抓包



得到一个content 提交验证码的时候再抓包 发现抓不到包

所以怀疑并没有走网络接口 而是本地校验js判断验证码是否正确

审计一波js

 点击修改的事件为popupbutton

$(".popupButton").click(function(){
    var vCode = $("#vCode").val();
    var claCon = $("#claCon").val();
    if(vCode == "" || vCode == undefined){
        alert("验证码不能为空!");
        return;
    }
    if(hex_md5(vCode.toUpperCase()+"7Yu3aN2JGiE3").toLowerCase() != getCookie("vlcontent")){
    
        alert("验证码错误!请重新输入");
        return;
    }
    if(getCookie("invalid") == ""){
        alert("验证码已失效!请重新获取")
        
        return;
    }
    if(flag != claCon){
        alert("验证码与输入邮箱不符!");
        return;
    }
    if(type == "email"){
        modifyEmail();
    }
    if(type == "phone"){
        modifyPhone();
    }
})

分析代码 也就是说 超星这逼网站 验证验证码是否正确通过本地js校验

当 hex_md5(vCode.toUpperCase()+"7Yu3aN2JGiE3").toLowerCase() != getCookie("vlcontent")

满足这个条件后便能修改手机号

0x03

所以 一开始我的方法是写一个python脚本 跑四位验证码



后来我想想 草不对啊 我为什么要爆破 我直接把cookie的字段改了不就行了

首先获取一个content和验证码,这两个是匹配的。

当我们修改cookie中vlcontent的字段为 0d95b0f157cea0728a2bc2c4af2de41b 此时我们只要输入验证码为Y96Q 即可