58同城登陆参数password值,js解密

13 篇文章 1 订阅
10 篇文章 0 订阅
该文章主要提供交流学习使用,请勿利用其进行不当行为!
如本篇文章侵犯了贵公司的隐私,请联系我立刻删除!

个人博客:http://www.feastawlisao.com/
欢迎关注个人公众号:pythonORjs

今天分享一下58同城的登陆参数password的解密过程。
首先我们打开58同城,打开开发者工具,输入账号密码,可以先输入错误的,进行抓包。然后进行查找,如下图所示。
在这里插入图片描述
开始分析参数,username是账号,password就是密码,token是非固定的,其他参数都是一些正常的参数,携带即可,这里就不过多讲解,为什么这些参数携带即可,如有兴趣可以留言。
我们呢就开始找password藏在哪个js当中,经过搜索排查后发现在藏在mobileLoginxxxxx.js当中,里面有很多n.encrypt(e.password),经过调试,加密是从这里开始进行的,我们下断点,发现,e.password就是我们输入的密码,encrypt这个函数,经常搞加密的,一眼就能看出来这是个rsa加密,哈哈哈,所以,我们进入encrypt函数里进行调试。
在这里插入图片描述
进入函数后,里面就显示了加密过程,我们一一分析即可。经过调试,我们可以写成这样。

e_prototype_encrypt = function (e) {
    var rsaExponent = "010001"
    var rsaModulus = "008baf14121377fc76eaf7794b8a8af17085628c3590df47e6534574efcfd81ef8635fcdc67d141c15f51649a89533df0db839331e30b8f8e4440ebf7ccbcc494f4ba18e9f492534b8aafc1b1057429ac851d3d9eb66e86fce1b04527c7b95a2431b07ea277cde2365876e2733325df04389a9d891c5d36b7bc752140db74cb69f"
    r = 1411093327735 - (new Date).getTime(),
        o = (new Date).getTime() + r;
    encryptString(o + e, rsaExponent, rsaModulus)
}

在这里插入图片描述
这里说一下,调试工具有很多,wt-js,乐易助手,WebStorm ,都可以进行调试。
此处,修改完代码后,我们进入encryptString函数里面。然后把代码抠出来,因为里面只有600行代码,我们全部抠出来。然后运行,发现未定义,其实不是这个函数未定义,因为代码里面可以搜到,其实是window未定义,,我们加上window = this;即可,全局意思。
在这里插入图片描述
然后我们函数传入密码,运行。可以发现,我们用js运行出来的,可网站的一模一样。大功告成撒。
在这里插入图片描述
有人说,我把rsa的rsaExponent和rsaModulus参数写死了,会不会有问题,这个可以直接搜索一下,这两个参数是一直都不会变的。
在这里插入图片描述
至于token参数,也是接口返回的。和上面的rsa参数一样,都是通过刷新login页面返回的,可以试一下。
在这里插入图片描述
用python调用一下js代码,然后post传入参数即可。
完整代码,需要python or js代码可以留言撒。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要实现类似58同城同款浮动的效果,可以使用JS来实现页面滚动时固定某个元素位置的功能。具体步骤如下: 1. 获取需要固定位置的元素的位置信息,包括元素距离页面顶部的距离、元素的高度等。 2. 监听页面滚动事件,当页面滚动距离大于等于元素距离页面顶部的距离时,将元素的position属性设置为fixed,并设置元素的top属性为0,这样就可以将元素固定在页面顶部。 3. 当页面滚动距离小于元素距离页面顶部的距离时,将元素的position属性设置为relative或者其他需要的属性,这样就可以将元素恢复到原来的位置。 下面是一个简单的示例代码: ```html <!-- HTML结构 --> <div id="float-element">这是需要固定位置的元素</div> ``` ```javascript // JS代码 window.addEventListener('scroll', function () { var floatElement = document.getElementById('float-element'); var scrollTop = document.documentElement.scrollTop || document.body.scrollTop; var floatElementTop = floatElement.getBoundingClientRect().top + scrollTop; var floatElementHeight = floatElement.offsetHeight; if (scrollTop >= floatElementTop) { floatElement.style.position = 'fixed'; floatElement.style.top = '0'; floatElement.style.zIndex = '999'; } else { floatElement.style.position = 'relative'; floatElement.style.top = 'auto'; floatElement.style.zIndex = 'auto'; } }); ``` 需要注意的是,这只是一个简单的示例代码,实际应用中还需要考虑一些其他的情况,比如浏览器窗口大小变化时需要重新计算元素位置等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值