zoukankan      html  css  js  c++  java
  • sql注入问题 java中将MySQL的数据库验证秘密加上 ' or '1'= '1 就可以出现万能密码

    password的字符串中,加上 ' or '1'= '1 就可以制作出万能密码。

    原因如下:

    原代码中密码是123456

    执行数据库查询语句

    实际上执行的SQL语句是:

    select * from sw_user where username='swift' and password='123456'

    这是需要账号密码都正确才能登陆成功

    如果有人将密码设置成这样的密码,则成了万能密码,什么样的用户名和密码都会登陆成功,如下图:

    就是在任意密码后加上 ' or '1'='1 就可以了,任意账号和密码加上后都可以登陆成功,这是sql数据库的注入,原因是执行的sql语句变成了:

    还是上边这条语句,实际上执行的是

    select * from sw_user where username='swift' and password='123456' or '1'='1'

    后边的or 或语句永远成立,所以前边的查询条件无论满足与否都没用了 ,很有意思吧

  • 相关阅读:
    字符串、组合练习
    national flag
    常用的Linux操作
    大数据概述
    LL(1)文法
    简单有穷自动机
    简单C语言文法
    词法分析
    编译原理 141
    综合练习
  • 原文地址:https://www.cnblogs.com/qingyundian/p/7567892.html
Copyright © 2011-2022 走看看