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的地址,他想干什么就干什么了。
热门工具 换一换