选择明文加签进行登录后,修改密码时就会报类似签名不正确。
先查看原请求包:
修改密码后再进行发送请求:(报签名不正确)
这时如果我们想进行爆破的话就需要知道签名是怎么生成的,这时我们可以定位js提交数据的位置然后设置断点。
设置断点,然后再次发起明文加签请求:
再次发起请求:
这时就可以看到signature是如何生成的了,上述nonce的值是随机生成的,signature是通过对dataToSign进行HMACSHA256加密而来的且secretkey的值是固定的,而dataToSign是通过username+password+nonce+timestamp进行拼接获取的。
如果我们请求时修改password时,我们就可以通过上述的加密方法来进行伪造签名signature。
伪造过程如下:
原请求:
伪造签名:
此时修改密码和签名没有报签名错。