万能密码(sql注入)

文章目录

  • 原理
  • 注释符
  • 常用


原理

万能密码利用的原理就是在后台登陆页面没有对用户输入的内容进行验证,此时程序所用用户输入的数据都合法的,所以这个时候无论是合法的管理员还是非法的入侵者所输入的数据都是被信任的,非法入侵者正是利用这一特点来进行非法登录的。

一个网络安全意识淡薄的网站,其登录功能的SQL语句大概是下面这个样子

select * from user where username='输入值1' and password='输入值2'

当我们在登录界面输入 【万能账号】比如 a’ or true # 以后,后端会将我们输入的参数拼接到SQL中,然后去数据库中查询账号和密码
拼接以后的SQL语句大概是下面这样:

select * from user where username='a' or true #' and password='pass'

#在SQL中是注释符,注释符后面的内容不起作用
所以后台得到的有效代码为:

select * from user where username='a' or true

注释符

除了 # 以外, – 也是SQL中的注释符,但SQL的语法格式规定–和后面的注释内容必须间隔一个空格,所以这需要使用 a’ or 1 – a 而不是 a’ or 1 --a 其原理和 a’ or 1 # 大同小异

常用

'='    '='
' or true #
' or 1=1#


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部