javascript - cookie是由javascript生成的吗?

标签 javascript shell curl cookies command-line

我正在尝试在此域上运行curl:

curl 'http://www.zone-h.org/'

当我尝试单独运行该命令时,它没有像我希望的那样获取页面的内容。

当我像这样运行curl时,它确实可以正常工作:

curl 'http://www.zone-h.org/archive' -H 'Cookie: ZH=9ad2c41c5fe02ef34a30a22c1902b4bf'

这适用于我的本地桌面,因为我能够在浏览器中访问该网站并获取 cookie 字符串。但是,我尝试在我的 VPS 上运行它,但它无法正常工作。我猜这是因为我的 IP 不同或类似的原因。

我不太确定是什么原因造成的,但我认为是这里的文件:

http://www.zone-h.org/z.js

我怎样才能找到我应该在我的 VPS 上设置 cookie 的内容,以便我可以在那里运行此命令?有没有办法弄清楚 cookie 字符串是如何生成的或为我的 VPS 获取正确的 cookie?

最佳答案

首先,设置 cookie 的 javascript 实际上位于您为主 URL 获取的初始正文中。 z.js 文件提供了一堆 javascript 辅助函数,尽管这些函数由主 javascript 代码调用。

要学习的关键逻辑是这一部分(我将线分开以便在这里看起来更好):

document.cookie="ZH="+toHex(slowAES.decrypt(c,2,a,b))+
"; expires=Thu, 31-Dec-37 23:55:55 GMT; path=/";

看到了吗?它使用在原始主体中设置的 a、b 和 c 变量的输入来创建包含 AES 解密内容的 cookie。如果您确实愿意,您可以用另一种语言编写自己的逻辑来模仿它。

但还要看到,它为此 ZH cookie 设置了 2037 年的到期日期。因此,您可能可以在未来很多年中重复使用您所拥有的 cookie,甚至无需计算新的 cookie(除非它再次运行此脚本)。

关于javascript - cookie是由javascript生成的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34428718/

相关文章:

javascript - jQuery 滚动 : prevent anchor text from appearing in url

linux - shell 代码中的语法错误

linux - CENTOS - 用于从目录启动文件传输的 Bash 脚本

php - 使用 cURL 或 socket_create 发送自定义 HTTP POST 请求

windows - git 克隆错误 : RPC failed; curl 56 OpenSSL SSL_read: SSL_ERROR_SYSCALL, errno 10054

curl - 使用 Parse.com 云代码确认 PayPal 付款

javascript - Laravel 5.5 - CORS GET 请求更改为 OPTIONS

javascript - jQuery 仅在事件中保存最后一个值

javascript - 动态调用javascript中对象的函数

linux - 使用shell查找两个日期的天数