加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

vb.net – 检测SQL注入

发布时间:2020-12-17 00:28:01 所属栏目:大数据 来源:网络整理
导读:我来到一家已经有一个完全成长的项目的公司……但是在我之前工作的编码员没有遵循惯例,也没有使用参数化的SQL查询…因此,在一个非常巨大的地方有超过1000个地方可能容易受到SQL注入攻击的项目…… 我需要找到一个解决方案,它将自动检测代码中是否有SQL注入.
我来到一家已经有一个完全成长的项目的公司……但是在我之前工作的编码员没有遵循惯例,也没有使用参数化的SQL查询…因此,在一个非常巨大的地方有超过1000个地方可能容易受到SQL注入攻击的项目……

我需要找到一个解决方案,它将自动检测代码中是否有SQL注入.因此,例如,有一个表单允许用户输入关于产品的注释,这些注释将在提交时发送到数据库…我们如何确保用户没有输入有害查询而不是普通文本?

是否有任何高级代码/正则表达式/魔术可以检测此文本是否包含一段SQL查询而不是正常的无害文本?我将接受任何链接,任何语言的代码片段,甚至是商业软件,我会这样做.

谢谢

这里没有银弹. SQL注入可能有许多模糊的形式,并尝试使用正则表达式或防火墙中的其他形式检测它们,或者应用程序可以保护您免受SQL注入的最简单形式的影响,但经验丰富的黑客只会通过它.正如AdaTheDev已经指出的那样,检查代码的自动化工具,例如MS代码分析工具,可能会给你一个启动,但同样没有银弹.您需要完成整个申请.

当这是很多工作时,你应该制定一个计划.首先,制定一个指导方针,说明如何减轻这些类型的攻击.还尝试将您的应用程序分成几部分,从非常关键到不太关键.通过这种方式,您可以更好地估算修复错误的成本,并让管理层决定可能花费的成本,从而确定他们愿意承担的风险.未经身份验证的用户可以访问的应用程序部分是最关键的.如果每个人(在世界上)都可以在您的应用程序中创建一个帐户,那么这些用户可以访问的所有功能都非常关键.人口越少,您对这些用户的信任度越高,风险就越小.您可能稍后可以解决这些问题.但永远不要低估一个好黑客.他/她可能会破坏具有高权限的用户的帐户,并开始使用该帐户测试SQL注入可能性.

始终尝试进行深度防御策略,拥有多个(或多个)防御层.例如,永远不要在应用程序中将数据库作为SA连接.创建一个仅具有所需权限的帐户,甚至可以创建多个SQL帐户,每个角色一个帐户(或每个角色组).虽然限制数据库的权限有助于降低风险,但同样不要将其作为单一防御层进行赌注.例如,This article解释了当黑客能够进行SQL注入时如何滥用较低权限帐户.

令人钦佩的是你在这里提出这个问题,因为我看到过去很多开发人员只是不想知道,这非常可怕,因为业务经常信任其开发人员(这也是可怕的).

祝你好运.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读