文章目录
-
-
- 什么是SQL注入
- 使用数据库客户端工具查询用户表
- 访问ERP系统(对密码输入框进行SQL注入)
- SQL注入的原理
- 解决方案
- 重新注册一个管理员账
- 使用sys账 登录ERP系统(输入正确的密码)
- 使用sys账 登录ERP系统(对密码输入框进行SQL注入)
- UserDAO类的完整代码
-
什么是SQL注入
SQL注入是现在普通使用的一种攻击手段,就是通过把非法的SQL命令插入到Web表单中或页面请求查询字符串中,最终达到欺骗服务器执行恶意的SQL语句的目的。SQL注入一旦成功,轻则直接绕开服务器验证,直接登录成功,重则将服务器端数据库中的内容一览无余,更有甚者,直接篡改数据库内容等。
使用数据库客户端工具查询用户表
该表中有1个用户,账 为admin,明文密码为123456
访问ERP系统(对密码输入框进行SQL注入)
1)用户名输入:随便输
2)密码输入:’ OR ‘1’=’1
SQL注入的原理
密码验证的接口根据输入的用户名和密码查询数据表,如果查到用户记录的话,则认证通过。
代码如下:
实际执行的sql语句如下:
因为’1’=’1’永远成立,导致能够查询到所有的用户,所以登录认证通过。
解决方案
修改UserDAO类(使用shiro框架对输入的密码进行加密,然后再对数据库进行操作),具体步骤如下:
1)修改用户注册的接口
修改后,代码如下:
2)修改登录认证的接口
修改后,代码如下:
重新注册一个管理员账
1)输入用户名:sys
2)输入密码:123456
使用sys账 登录ERP系统(输入正确的密码)
输入密码为:123456
使用sys账 登录ERP系统(对密码输入框进行SQL注入)
输入密码为:’ OR ‘1’=’1
UserDAO类的完整代码
代码如下:
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!