当前位置:首页 > 开发 > 数据库 > 正文

如何实现数据库的Sql注入的一点想法

发表于: 2014-12-23   作者:chenhua_1984   来源:转载   浏览次数:
摘要:       Sql注入攻击是一种比较常用的攻击手段,通常我们比较难以界定,所以,做防控也是比较困难的,开发的时候,需要考虑代码被Sql注入的可能,业界通用的做法是配置黑白名单或者规则库,这是一种解决方案,然而这种解决方案对于使用起来成本还是挺高的,特别对于不是特别懂的人难于配置。       

      Sql注入攻击是一种比较常用的攻击手段,通常我们比较难以界定,所以,做防控也是比较困难的,开发的时候,需要考虑代码被Sql注入的可能,业界通用的做法是配置黑白名单或者规则库,这是一种解决方案,然而这种解决方案对于使用起来成本还是挺高的,特别对于不是特别懂的人难于配置。

 

     我想,这样一种思路:一个系统内的Sql语句的数量是有限的,那么我们可以把所有的SQl都收集起来,形成白名单,这样一来就形成了一个完整的规则库,凡是没在这个库里面的语句我们都任务是攻击语句。

 

      利用Oracle的VPD技术可以实现对Sql执行前的拦截和替换,那么我们根据这一点,是否可以实现Sql语句的注入检测呢?理论上应该可行,不过我没有验证过,难点是性能的开销问题。

 

     在Application层面,则可以通过实现自定义JDBC驱动,通过动态代理来对Sql语句进行过滤,利用上面的思路,则理论上也可以实现Sql注入的攻击防御与告警,同样的,也是性能问题需要特别注意。

 

 

如何实现数据库的Sql注入的一点想法

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
这是我对知乎上题为“一个产品经理怎么跟工程师沟通时间进度问题?”的问题给出的回答。原帖在这里h
这是我对知乎上题为“一个产品经理怎么跟工程师沟通时间进度问题?”的问题给出的回答。原帖在这里
如何实现.net程序的进程注入 周银辉 进程注入比较常见,比如用IDE调试程序以及一些Spy程序,如果仅仅
原文地址:http://www.cnblogs.com/rush/archive/2011/12/31/2309203.html 1.1.1 摘要 日前,国内最
在使用Ireport的时候,我从不建议采用这种方式制作报表: JasperPrint jasperPrint = JasperFillMan
在使用Ireport的时候,我从不建议采用这种方式制作报表: JasperPrint jasperPrint = JasperFillMan
在使用Ireport的时候,我从不建议采用这种方式制作报表: JasperPrint jasperPrint = JasperFillMan
在使用Ireport的时候,我从不建议采用这种方式制作报表: JasperPrint jasperPrint = JasperFillMan
这几天看到好友的文章关于while(1)和for(;;)效率的讨论,手痒说了两句。回头一寻思,自己也仅仅是判
权限往往是一个极其复杂的问题,但也可简单表述为这样的逻辑表达式:判断“Who对What(Which)进行How
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号