2

我被告知要分析 Web 应用程序的行为,并注意到它会根据用户名+密码组合生成密码重置令牌。这意味着如果帐户的用户名和密码组合在重置期间保持不变,则生成的重置令牌也保持不变。所以它不是随机的,也不是基于时间戳或任何经常变化的东西。

在我看来,它一点也不随意。但它是什么?我检查了几个生成令牌的 Java 函数(如 UUID),但它们的输出看起来不像我正在查看的令牌。

有谁知道什么(Java函数)生成这种令牌?

Account B
token=YwQAAAAAAAAmONpWfOI-dGQoZBbXxUaApbRQ7E
token=YwQAAAAAAAADIDSPpW_5vC8AvpNTi5LIgQZ080
token=YwQAAAAAAAAg5NcxcGeRWXA2m_K0cm0TNx8rO8
token=YwQAAAAAAAA0H4tkoER8tDfMR_V_TT3BPfC43g
token=YwQAAAAAAAApFrrJCJvb_zH0p5f-HkIt7EtWgA
token=YwQAAAAAAAAiDeQFrxpTSwrFNCV4AQW0sdoiyw

Account A
token=TwQAAAAAAAAi6M6tduIa6EdB3-VB1J_l8Cyza8
token=TwQAAAAAAAAM-yFuFKebUZA-2q0YgwnJeGrZuo
token=TwQAAAAAAAAg0We7RWTMM9PYv68RCJMUG_MuBw
4

2 回答 2

1

对我来说,这看起来像是 Base64 编码的东西。尝试使用 Base64 解码您的令牌并查看它的外观。

于 2013-06-10T10:31:37.803 回答
0

我认为他们正在做这样的事情来生成 base65 压缩字符串

使用 SHA1 对字符串进行签名,然后使用 url-safe base65 将其缩小

于 2013-06-10T11:15:36.230 回答