选择明文加签进行登录后,修改密码时就会报类似签名不正确。

先查看原请求包:

修改密码后再进行发送请求:(报签名不正确)

这时如果我们想进行爆破的话就需要知道签名是怎么生成的,这时我们可以定位js提交数据的位置然后设置断点。

设置断点,然后再次发起明文加签请求:

再次发起请求:

这时就可以看到signature是如何生成的了,上述nonce的值是随机生成的,signature是通过对dataToSign进行HMACSHA256加密而来的且secretkey的值是固定的,而dataToSign是通过username+password+nonce+timestamp进行拼接获取的。

如果我们请求时修改password时,我们就可以通过上述的加密方法来进行伪造签名signature。

伪造过程如下:

原请求:

伪造签名:

此时修改密码和签名没有报签名错。