美文网首页
某去哪网,JS逆向:★★★★

某去哪网,JS逆向:★★★★

作者: 八月欢喜 | 来源:发表于2021-10-20 10:59 被阅读0次

前言

  1. 可以关注我哟,一起学习,主页有更多练习例子
  2. 如果哪个练习我没有写清楚,可以留言我会补充
  3. 玩多了简单的是不有点发腻,这次来点有意思的
  4. 这个逆向出来也是凑巧
  5. 如果有加密的网站可以留言发给我,一起学习共享学习路程

网址:
aHR0cHM6Ly9mbGlnaHQucXVuYXIuY29tL3NpdGUvb25ld2F5X2xpc3QuaHRtP3NlYXJjaERlcGFydHVyZUFpcnBvcnQ9JUU1JThDJTk3JUU0JUJBJUFDJnNlYXJjaEFycml2YWxBaXJwb3J0PSVFNCVCOCU4QSVFNiVCNSVCNyZzZWFyY2hEZXBhcnR1cmVUaW1lPTIwMjEtMTAtMjImc2VhcmNoQXJyaXZhbFRpbWU9MjAyMS0xMC0yOSZuZXh0TkRheXM9MCZzdGFydFNlYXJjaD10cnVlJmZyb21Db2RlPUJKUyZ0b0NvZGU9U0hBJmZyb209cXVuYXJpbmRleCZsb3dlc3RQcmljZT1udWxs

1. 加密参数:

image.png

加密请求头:

image.png

2. 解密 _m_

2.1 查找_m_

因为_m_ 参数名称比较特殊,所以咱们直接全局搜索,开搞!!

image.png
噔噔蹬蹬~~
image.png
八九不离十,基本确定是这个了

2.2 打断点

打断点查看每个参数的值,看看我们发现了什么,哟呵,双层加密

image.png image.png

继续跟进,先看里面那一层的


image.png

我们发现:

  1. 受限获取了一个token 和cookie中的时间戳
  2. 将时间戳%2的余数
  3. 将鼠标放到最后一行的encrypetFunction上,发展里面有两个加密方法,根据余数r的判断进入哪个方法
  4. 参数为上面两个值的相加

2.3 再次进入encrypetFunction方法中参看加密方法

image.png

重点我们现在找到了,干他俩

说一个小技巧也是我个人的凑巧

我发现u加密完后是32位,s加密完成后是40位,而且都是十六进制,勇敢的猜测了一下,32位为MD5,40位为SHA1


image.png

我试了一下,艾玛,真香

image.png

再看到上面流程后有跟sha加密

2.4 encrypetFunction加密流程

  1. 根据2.3得知,一共用了两种加密一个sha1和md5
  2. 根据余数判断将参数是 先sha在md5 还是 先md5再sha1
  3. 在请求中又看到所有发送的_m_值是32位,预估一下还有一次md5加
    image.png
  4. 果然,看到前面的L加密运算后是将所有的再进行了一次md5加密


    image.png

3.解密

关于pre说一下思路,selenium直接读取window.pt读取数据,pre当失效了再次读取即可
精简化的代码如下:

var _0x167381 = {};
var window = {}
var compared = function (_0x562245, _0x40bb9f) {
    return _0x562245 < _0x40bb9f;
};
_0x167381["QmkxL"] = function (_0x2b5cea, _0x483ab6) {return _0x2b5cea !== _0x483ab6;}
_0x167381["tSIrZ"] = function (_0x11572e, _0x372f4f) {return _0x11572e + _0x372f4f;}
_0x167381["tonQV"] = function (_0x1c66cf, _0x5790ce) {return _0x1c66cf === _0x5790ce;}
function _0x363b69(_0x153c09, _0x4f5b18) {
    var _0x17ba32 = _0x153c09["join"]("")["split"]('');
    var _0x2cdb7b = parseInt(_0x4f5b18, 16).toString(2).split("")
    var _0x5cbe2e = _0x2cdb7b['length'];
    var _0x454ef6 = _0x17ba32['length'];
    for (var _0x4917a5 = 0x0; compared(_0x4917a5, _0x454ef6); _0x4917a5++) {
        _0x17ba32[_0x4917a5] = String['fromCharCode'](_0x167381["tSIrZ"](_0x17ba32[_0x4917a5]["charCodeAt"](0x0), _0x167381["tonQV"](_0x2cdb7b[_0x4917a5], '1') ? -0x2 : -0x4));
    }
    return _0x17ba32['join']('');
}

var _0x1b269f = ['3de<969:1', 'cf:f58', '19;6h48:9/:', '9:88j65/;eh62f', 'c77g96']
var _0x4f5b18 = "30500e753de2"
console.log(_0x363b69(_0x1b269f, _0x4f5b18))

结论:

  1. 读取token和类似时间戳的相加组成一个参数
  2. 将参数按时间戳余数,判断加密顺序
  3. 将第二步加密出来的返回数据,进行最后一次md5加密,发送
  4. 在发送时记着携带st参数也是时间戳
  5. pre两种方式获取:
    a. 浏览器获取指定参数可正则匹配一下子就出来了,然后带入到参数中请求数据,pre可以多次使用,过期再次获取即可
    b. selenium 获取数据即可window.pt
  6. 完结撒花
image.png

每天都找网站练习一下,总有高薪那一天,加油吧兄弟,为了成为更优秀的自己

相关文章

  • 某去哪网,JS逆向:★★★★

    前言 可以关注我哟,一起学习,主页有更多练习例子 如果哪个练习我没有写清楚,可以留言我会补充 玩多了简单的是不有点...

  • 某37网游练手,Js逆向:★

    前言 可以关注我哟,一起学习,主页有更多练习例子 如果哪个练习我没有写清楚,可以留言我会补充 如果有加密的网站可以...

  • 2.某书网js逆向部分总结

    单纯技术分享分析思路,不提供源代码 1.vl5x与guid 打上断点,进行刷新然后如下图所示 上图的文书解密中我们...

  • 某FM的js逆向

    目标站点https://www.qingting.fm/[https://www.qingting.fm/] 这个...

  • 某度登录js逆向

    如有侵权,请联系我删除 1、引言 本文章只做分析,不提供源码 2、分析 首先看一下登录链接和需要什...

  • 某毛毛租js逆向★★★

    前言 可以关注我哟,一起学习,主页有更多联系例子,哪没写清楚留言,我去完善网址:aHR0cHM6Ly93d3cub...

  • 某民银行js逆向

    如有侵权,请联系我删除 1、引言 上两个星期发现之前写的js无法使用了,所以这两天进行更新一下 2、分析 ...

  • 企某查,JS逆向:★★★☆

    前言 可以关注我哟,一起学习,主页有更多练习例子 如果哪个练习我没有写清楚,可以留言我会补充 如果有加密的网站可以...

  • 某花顺js逆向

    如有侵权,请联系我删除 1、引言 本文章只做分析,不提供源码 2、分析 2.1 打开数据连接发现不带cooki...

  • 【JS 逆向百例】某7网游登录接口参数逆向

    声明 本文章中所有内容仅供学习交流,敏感网址、数据接口均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一...

网友评论

      本文标题:某去哪网,JS逆向:★★★★

      本文链接:https://www.haomeiwen.com/subject/zyrfaltx.html