平平博客平平博客
user side
平平
pingping@pingping6.com
平平网络pingping6.com

浅谈SQL注入及防范

代码片段2020-06-08 63  0 
摘要:前言    上次在学spring的时候,授课老师说...

前言

    上次在学spring的时候,授课老师说用mysql内置concat字符串连接防范sql注入,以我攻击和被攻击的经验来看,此方法不咋好用!
    sql注入危害说大不大,说小不小。如果漏洞落到好人手里(比如我),玩玩之后可能会叫你修复,如果落到坏人手里可能会删了你的表或者获取高级权限。因为我曾经也受过攻击,所以这次写篇文章让大家好好注意一下!sql注入超级简单,只要你学过sql就能实现!!
    

例子

用户登录

原始:

select * from user where name='pingping' and  password='pingping';

注入:

select * from user where name='pingping' or 1=1 #' and  password='';

说明

    在没有过滤的情况下将name字段注入了pingping' or 1=1 #' and  password='',如果是admin用户呢??

文章查询

原始:

 select * from log where id =1;

 注入:

 select * from log where id = (
        delete from log
          ) ;

说明

    如果您用的开源系统,或者您的表名被弄到了,并且没有防范时!在显示文章的时候可能会遭受这种攻击,你的数据全没了
        
    暂时只想到这两个例子,concat同样能遭受这种攻击,具体方法自行体会!

解决办法

    查询内容全都当做字符串,然后进行转义!就这么简单!
继续阅读
标签:教程代码SQL注入SQL注入防范保护mysqloraclesqlitesqlserver数据库黑客白客
写代码真的很累!麻烦点个赞,评论一下,然后分享给自己的小伙伴!
打赏
海报分享
发表评论
表情
快捷
私密

右滑验证