「作者主页」:士别三日wyx
「作者简介」:CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者
「推荐专栏」:对网络安全感兴趣的小伙伴可以关注专栏《网络安全入门到精通》
【万能密码】,顾名思义,就是可以 【登录任意网站】的账号和密码,这篇文章就跟大家探讨一下,万能密码究竟是如何实现登录的。
首先了解一下登录功能的逻辑。
我们平时登录账号时,如果是第一次登录,系统会提示我们注册账号,并将我们注册的账号和密码保存到数据库中。
当我们再次登录时,系统会将我们输入的账号和密码和数据库中的数据进行匹配,匹配成功能登录。这就意味着我们需要知道一个已经注册过并且正确的账号和密码才能进行登录。
那如果我不小心忘记了我的账号或者密码,或者我压根就不知道账号和密码,还有没有办法登录呢?答案是肯定的。
比如一个登录功能,后台的SQL语句基本都是下面这个样子
select \* from user where username='user' and password='pass'
假如用户名是admin,我们就给用户名填上 admin '#,密码随便输入,比如123456,后台接收参数,拼接到SQL中会变成这样:
select \* from user where username='admin'#' and password='123456'
由于 # 在SQL中是注释符,注释符后面的内容不起作用,所以真正执行的SQL大概是下面这样
select \* from user where username='admin'
SQL只会在数据库中查询用户名,而不是同时查询用户名和密码,这就意味着,只要用户名正确,就可以登录成功。
也就是说万能密码并不是一个真正意义上的密码,而是一种拥有不同变体的格式。
由于参数可以用双引号包裹、单引号包裹、甚至不包裹,万能密码可以有三种形式:
- 数值型:
admin #
- 单引号字符串型:
admin'#
- 双引号字符串型:
admin"#
这实际上是利用了注释 #
的特性,由于--
也是SQL的注释,万能密码又多了三种形式:
- 数值型:
admin-- a
- 单引号字符串型:
admin'-- a
- 双引号字符串型:
admin"-- a
还有兄弟不知道网络安全面试可以提前刷题吗?费时一周整理的160+网络安全面试题,金九银十,做网络安全面试里的显眼包!
王岚嵚工程师面试题(附答案),只能帮兄弟们到这儿了!如果你能答对70%,找一个安全工作,问题不大。
对于有1-3年工作经验,想要跳槽的朋友来说,也是很好的温习资料!
【完整版领取方式在文末!!】
93道网络安全面试题
内容实在太多,不一一截图了
黑客学习资源推荐
最后给大家分享一份全套的网络安全学习资料,给那些想学习 网络安全的小伙伴们一点帮助!
对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。
1️⃣零基础入门
① 学习路线
对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。
② 路线对应学习视频
同时每个成长路线对应的板块都有配套的视频提供:
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!