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的地址,他想干什么就干什么了。






友情链接
KaDraw流程图
API参考文档
OK工具箱
云服务器优惠
阿里云优惠券
腾讯云优惠券
华为云优惠券
站点信息
问题反馈
邮箱:[email protected]
QQ群:637538335
关注微信