sql注入问题 java中将MySQL的数据库验证秘密加上 ' or '1'= '1 就可以出现万能密码
2018-01-01 00:36
573 查看
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 或语句永远成立,所以前边的查询条件无论满足与否都没用了 ,很有意思吧
原因如下:
原代码中密码是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 或语句永远成立,所以前边的查询条件无论满足与否都没用了 ,很有意思吧
相关文章推荐
- 防止sql注入方法 如何防止java中将MySQL的数据库验证密码加上 ' or '1'= '1 就可以出现万能密码 的PreparedStatement
- mysql 数据库插入数据出现:Duplicate entry '1' for key 1 问题
- ' or '1'='1'等漏洞问题
- java连接linux中mysql出现:Access denied for user 'root'@'192.168.91.1' (using password: YES)
- centos 下刚安装完MySQL就出现密码错误 Access denied for user 'root'
- java制作登陆界面验证问题mysql为数据库
- sql查询报java.sql.SQLException: Column 'LC_ID' not found 的错误实际上是mysql在hibernate别名的问题
- 用命令连接mysql , 出现'mysql' is not recognized as an internal or external command错误解决
- 在程序中写了一段代码向数据库中插入数据,出现了data too long for column 'name' at row 1的问题。
- Java:对于Sql语句执行方式不同而出现的问题!列名: 'false' 无效
- 使用XCode6打开项目以后再用XCode5出现的问题fatal error: malformed or corrupted AST file: 'Unable to load module
- 升级Rails3.0后出现这样的问题。Could not find gem 'mysql2 ....
- 使用XCode6打开项目以后再用XCode5出现的问题fatal error: malformed or corrupted AST file: 'Unable to load module
- java连接数据库==>出现问题了
- mysql 数据库字段为datetime类型时默认值为:0000-00-00 00:00:00 查询时异常 java.sql.SQLException:Value '0000-00-00' can not be represented as java.sq
- mysql修改密码后phpmyadmin 出现#1045 - Access denied for user 'root'@'localhost' (using password: NO)
- python写入mysql时候 出现'latin-1' codec can't encode character 问题解决方法 以及python设置utf-8
- 使用jdbc连接mysql 出现 java.sql.Exception: this specifer does...(root@'%')..doesn't exist.
- 使用vs2012配置opencv编译出现问题:error C4996: 'fopen': This function or variable may be unsafe.
- VS项目出现的问题:'jni.h': No such file or directory