【逆向案例】拉gou招聘x-ss-req-header

admin 2024年10月7日18:39:57评论11 views字数 1043阅读3分28秒阅读模式
文章中所有内容仅供学习交流使用,不用于其他任何目的,抓包内容、敏感网址、数据接口均已做脱敏处理,严禁用于商业和非法用途,否则由此产生的一切后果与作者无关。若有侵权,请在公众号【爬虫逆向小林哥】联系作者

01

逆向目标

【逆向案例】拉gou招聘x-ss-req-header

02

逆向过程

之前文章有简单分析过拉勾的参数加密以及返回值解密,其中有个注意的地方就是aes的key是随机字符串生成的,但是经过测试发现它有很明显的时效性并且与请求头中的X-Ss-Req-Header绑定的

【逆向案例】拉gou招聘x-ss-req-header

aesKey的生成在下面

【逆向案例】拉gou招聘x-ss-req-header

, Wt = function(t, e) {                    sessionStorage.setItem(t, e)                }                  , Jt = function(t) {                    return sessionStorage.getItem(t)                }

其中rt 和 wt分别是从sessionStorge中进行读写操作的函数,然后aesKey的生成时下面的函数

var t = function(t) {    for (var e = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=", r = "", n = 0; n < t; n++) {        var i = Math.floor(Math.random() * e.length);        r += e.substring(i, i + 1)    }    return r}(32);

这边就要引出文章要分析的地方了,既然key时随机字符串生成的又存在时效性,服务器时如何知道aes的key的呢?

其实往上会看到一个很可疑的地方

【逆向案例】拉gou招聘x-ss-req-header

它会把sessionStorge中的rsaEncryptData发送给服务器,每隔60000s就会进行操作

【逆向案例】拉gou招聘x-ss-req-header

其中的rsaEncryptData又时啥呢,这个很好找了 就是随机字符串的rsa加密

【逆向案例】拉gou招聘x-ss-req-header

因此整个流程就是这样的

一:生成一个随机字符串 写到sessionStorge  aeskey// PEhA6Dvi6QP0ebxapUICZpncgP1r8W0b      二:把生成的随机字符串rsq写到sessionStorge  rsaEncryptData三:拿着rsaEncryptData post给服务器,返回secretKeyValue,也就是请求头中的X-Ss-Req-Header

随机字符串aesKey可以写死,我们只要把rsaEncryptData定期post到服务器,拿到新的返回值secretKeyValue就可以了

效果:

【逆向案例】拉gou招聘x-ss-req-header

03

算法还原

 

 

原文始发于微信公众号(爬虫逆向小林哥):【逆向案例】拉gou招聘x-ss-req-header

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年10月7日18:39:57
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   【逆向案例】拉gou招聘x-ss-req-headerhttps://cn-sec.com/archives/2087498.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息