• 浅析云南某大学门户网密码加密算法


    在这里插入图片描述

    声明

    该笔记仅为学习测试记录📝,请不要通过本篇文章进行其他非法操作,文中对于一些特殊敏感的信息做了处理,仅供学习思路,贴到的代码对于ip以及域名做了处理,我爱我校!

    开始

    通过抓包我们发现登录的密码被加密了
    在这里插入图片描述
    而且每次算法对同一个数据不太一样,应该是密码通过解密后验证达到登录的效果

    通过模拟登录发现本次的请求

    http://****/sso/ssoLogin

    接口返回的响应体为

    {“state”:true}

    再次观察下一个抓包记录
    在这里插入图片描述

    猜测这应该才是正确的登录请求,第一个应该是验证密码正确性

    继续往下,我们观察该接口

    http:///sso/login?service=**

    响应体包含

    COMSYSUIATGC=TGT-*********
    Location:http://****?ticket=ST-119***********

    截图
    在这里插入图片描述

    当然这个有啥用是吧,有人可能会问

    通过location重定向新的地址,后面的ticket就是token

    我们再返回官网f12看下,发现了个文件
    在这里插入图片描述
    打开后,令我不敢相信,密码的publickKey居然就在第一行????
    在这里插入图片描述

    var publickKey=“MIGf**********************************************************************************************************************************************************AB”;

    为了验证算法它是如何加密的 ,我将门户网站登录页保存下来,
    保存到桌面
    在这里插入图片描述

    通过对该网页的编辑查看,我发现密码加密的算法

     $.post("/sso/ssoLogin",{"username":$(".un_input input").val(),"password":encodeURIComponent(encrypt.encrypt($(".passwd input").val()))
    
    • 1

    在这里插入图片描述

    为了继续验证我在js里面打了
    console.log();
    进行输出

    确定密码前输出加密后的密码
    在这里插入图片描述

    以及 获取到publickKey的代码
    在这里插入图片描述

    接下来 我保存 卡开 f12

    在这里插入图片描述
    对比发现 与jsencrypt.js中的一致

    接下来验证密码算法,因为密码不唯一,所以我们不好在这里测试,刚刚忘记将密码套上encodeURIComponent()了
    在这里插入图片描述

    我套上后,模拟登陆一次
    在这里插入图片描述
    将得到的加密后的密码,通过刚刚抓包的接口发送

    python代码如下(为了保护母校,ip及其有关信息就不方便放出来)

    def ssologin():
    
    
        cookies = {
            'JSESSIONID': 'E3628BB0DE360FBB6F7DC6EF0A3C2525',
            'JSESSIONID': 'A61C163B10934153639B46789D6B0AA4',
            'ymu': '22313507',
        }
    
        headers = {
            'Host': 'ip',
            'Connection': 'keep-alive',
            # 'Content-Length': '229',
            'Accept': 'application/json, text/javascript, */*; q=0.01',
            'Origin': 'ip',
            'X-Requested-With': 'XMLHttpRequest',
            'User-Agent': 'Mozilla/5.0 (Linux; Android 9; Redmi 6 Build/PPR1.180610.011;) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/74.0.3729.136 Mobile Safari/537.36',
            'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',
            'Referer': 'http://202.203.158.158/sso/login?service=http%3A%2F%2F****%2Fj_spring_cas_security_check',
            # 'Accept-Encoding': 'gzip, deflate',
            'Accept-Language': 'zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7',
            # Requests sorts cookies= alphabetically
            # 'Cookie': 'JSESSIONID=E3628BB0DE360FBB6F7DC6EF0A3C2525; JSESSIONID=A61C163B10934153639B46789D6B0AA4; ymu=22313507',
        }
    
        data = {
            'username': '学号',
            'password': 'JunsLYUvD*******EAys=',
        }
    
        response = requests.post('http://*******/sso/ssoLogin', cookies=cookies, headers=headers, data=data)
        print(response.text)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32

    运行结果

    在这里插入图片描述

    登陆成功!!

    本次学习仅作为一个记录
    我爱我校

  • 相关阅读:
    光反应赖氨酸的高难度合成
    亚马逊关键词搜索API接口(item_search-按关键字搜索亚马逊商品接口),亚马逊API接口
    mysql整库备份表结构和数据
    浏览器窗口尺寸相关的 API 整理图
    静态共享代理和静态独享有哪些区别?怎么选择?
    0成本低代码入门指南,国产化+私有化的开源低代码平台如何获取?
    “ActiveBodyMuscles“ app Tech Support(URL)
    大数据-之LibrA数据库系统告警处理(ALM-12045 网络读包丢包率超过阈值)
    【尚硅谷 Vue学习笔记】P14事件处理 P13事件修饰符 p16键盘事件 p17事件总结
    ChatGPT对软件测试的影响
  • 原文地址:https://blog.csdn.net/qq_35230125/article/details/127612546