sql注入,一个例子让你知道什么是sql注入

sql注入,一个例子让你知道什么是sql注入

这篇文章说的非常好

https://www.cnblogs.com/sdya/p/4568548.html
在这里插入图片描述
我就是按照文中例子,亲自在我之前用final框架做的项目中,操作了一遍,的确是实现了用户登录。

在不知道用户名和密码的情况下实现了用户登录

重现sql注入过程如下:

1、在用户名输入’ or 1=1 --,然后随便输入一个密码
在这里插入图片描述
2、点击登录,我竟然登录进去系统了。

为什么呢?

debug一下源代码,就不难知道原因。

在这里插入图片描述
点击登录,得到的sql语句是:

select * from AUTH_USER t where t.LOG_IN_NAME=’’ or 1=1 --’ and t.PASSWORD='gdd’

放入oracle去执行:

在这里插入图片描述
返回了所有的用户信息,这样authUser就肯定不是null了,表示数据库有相关用户,当然就算是登录成功了。

果不其然成功进入了系统界面,这样用户就算是登录了,虽然是一个随机的一个用户,但是该用户的操作他都可以干,甚至如果知道框架的action地址,那么在浏览器中输入功能的action的地址,他想干什么就干什么了。
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_43772728/article/details/88649652