SQL注入的简单案例

文章目录

      • 什么是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进行处理,非常感谢!

上一篇 2019年8月1日
下一篇 2019年8月1日

相关推荐