PHP代码审计————6、 PHP代码审计之找回密码问题

验证Token

在找回密码的时候生成一个token,然后存储到数据库中,然后把找回密码的地址发送到邮箱中,url中就含有token,由用户点开后就可以修改密码。

延伸

一些CMS的密码加密方式很难被破掉,有时候拿到了管理的密码破不掉

利用方发:一般找回密码是用的邮箱,首先把管理的邮箱注入出来,然后再去找回密码,再把数据库的token注入出来,构造一下地址就可以重置密码了。

rand函数生成Token

$resetpwd=md5(rand());

对rand()函数生成出来的数字进行md5,某些平台下(例如:Windows )Rand_max只有32768,如果需要的范围大于32768,那么指定min和max参数就可以生成大于Rand_MAX的数了,或者考虑使用mt_rand()来替代它

$encryptstring=md5($this->time.$verification.$auth);

$timetemp=date("Y-m-d H:i:s",$this->time);
$auth=util::strcode($timetemp,'ENCODE');`

算法的 KEY 并没有初始化,如果知道了这个时间,就可以生成加密的字符串

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值