万能用户名原理分析

万能用户名原理分析

1.首先找到登录功能的配置文件,对源代码进行分析
随便输入数据,按f12在network选项中查看相关文件
在这里插入图片描述
打开此文件
在这里插入图片描述
找到以下代码
在这里插入图片描述经过分析后认为sql语句应该为

select userid from cms_users where username ='用户输入账号' and password ='md5(用户输入密码 )'

而将万能密码admin’ or ‘1’ ='1作为账号输入到登录框时,sql语句就会发生改变,如下

select userid from cms_users where username =‘admin’ or ‘1’=‘1’ and password =‘md5(用户输入密码 )’

and与or在运算时,首先运算and,这时我们分析语句就可以发现1=1为true,password=xxxx为false,所以后面语句为false,而username=admin若为真,则真或假为真,登陆到admin的账户(但显示为万能账户),若为假,则同样登录失败
在这里插入图片描述
在这里插入图片描述
2.改进万能密码
在原来的1=1后加#号注释掉后面的语句,并用单引号直接将前面的单引号闭合,如下
’ or 1=1#
在这里插入图片描述由于此处为或运算,而1=1恒为真所以用户账号不输也行,而后面的密码被用注释#挡住,所以也没必要输
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值