我被告知要分析Web应用程序的行为,并注意到它会根据用户名+密码组合生成密码重置令牌。这意味着如果在重置期间帐户的用户名和密码组合保持不变,则生成的重置令牌也保持不变。 所以它不是随机的,不是基于时间戳或任何经常变化的东西。
对我来说,它看起来并不随机。但它是什么? 我检查了几个生成令牌的UUID等Java函数,但是它们的输出看起来不像我正在看的标记。
有谁知道(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
答案 0 :(得分:1)
对我来说,这看起来像Base64编码的东西。尝试使用Base64解码您的令牌并查看其外观。
答案 1 :(得分:0)
我认为他们正在做这样的事情来生成base65压缩字符串
Sign a string using SHA1, then shrink it using url-safe base65