首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从站点获取csrf令牌?

如何从站点获取csrf令牌?
EN

Stack Overflow用户
提问于 2018-03-21 05:20:37
回答 1查看 5.7K关注 0票数 3

我试图在linux上使用curl登录到https://shopee.co.id/,当我使用csrf令牌登录时总是需要一个csrf令牌,现在csrf令牌是gWLIg6tckGVkgWcLkhs2CE5FqRcoeyfr,但它将来可能会改变。我尝试了几种方法来获得csrf令牌,首先我尝试查看源代码,它不起作用,源代码中没有csrf令牌,我在chrome开发工具上尝试了检查元素,也没有csrf令牌。令牌只存在于chrome developer tools的应用程序选项卡中。如何找出我可以从哪里得到该网站的csrf令牌?对于这个问题我很抱歉,我不是程序员,请容忍我。

EN

Stack Overflow用户

回答已采纳

发布于 2018-03-21 14:45:45

这个网站上的csrf令牌是从https://cdngarenanow-a.akamaihd.net/shopee/shopee-pcmall-live-id/assets/bundle.fe75b5765ae80df28c1f.js浏览器中运行的javascript随机生成的,它有两个要求:它必须有32个字符长,并且由来自ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789的字符组成--除此之外,似乎没有任何要求,所以只需要编造一些东西,例如AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA。生成实际csrf令牌的代码是

代码语言:javascript
复制
    return e || i("csrftoken", e = function(e, n) {
        n = n || "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
        for (var a = "", r = 0; r < e; r++) {
            var t = Math.floor(Math.random() * n.length);
            a += n.substring(t, t + 1)
        }
        return a
    }(32), 0), e
}

换句话说,在这个网站上,你决定什么是csrf令牌,服务器没有。对我来说,这是令人惊讶和非常不寻常的。(而且可能是脆弱的?我不确定,我还没有充分考虑)

票数 1
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49398704

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档