我试图在linux上使用curl登录到https://shopee.co.id/,当我使用csrf令牌登录时总是需要一个csrf令牌,现在csrf令牌是gWLIg6tckGVkgWcLkhs2CE5FqRcoeyfr,但它将来可能会改变。我尝试了几种方法来获得csrf令牌,首先我尝试查看源代码,它不起作用,源代码中没有csrf令牌,我在chrome开发工具上尝试了检查元素,也没有csrf令牌。令牌只存在于chrome developer tools的应用程序选项卡中。如何找出我可以从哪里得到该网站的csrf令牌?对于这个问题我很抱歉,我不是程序员,请容忍我。
发布于 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令牌的代码是
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令牌,服务器没有。对我来说,这是令人惊讶和非常不寻常的。(而且可能是脆弱的?我不确定,我还没有充分考虑)
https://stackoverflow.com/questions/49398704
复制相似问题