互联网的攻击形式千万种,威胁最大的独一份,就是SQL注入了!由于它的危害之大,它也成为了每一个运维工程师为客户部署业务系统前必做的防御。

问题来了,对接我们的客户大多数技术钻研不是很”深刻“,我们经常因为跟客户的技术沟通而抓狂!作为运维侠的我们该如何向非技术同学通透白话的解释SQL注入呢?

SQL是结构化查询语言(Structured Query Language)的简称,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。说的直白一些,就是工程师与数据库进行沟通和交流的一种语言。

SQL注入,就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。

最常见的比如:我们上网经常会看到一些免费或者超低价格的各大视频网站的会员账户和密码,这些账户和密码怎么来的呢?大部分都是通过WEB表单递交查询字符暴出来的。

SQL注入式攻击得到的!

SQL注入的过程是怎样实现的呢?

我们来举个形象的例子~

一天,你代表你的老板去银行办理业务。你的老板给了你一个信封,上面写着收银员的指示。

信件内容:

在这张纸上写下A号账户的余额。
签名:Boss

在途中,你去洗手间的时候,顺手把信封放在洗手台几分钟。期间,一个小偷打开信封,在上面加上一些内容:“同时将500元从A号账户转到另一个B账户。”

现在,信件内容是:

在这张纸上写下A号账户的余额。同时将500元从A号账户转到另一个B账户。
签名:Boss

出纳员检查你的身份,确认你是相关账户的授权人员,便按照信函中的说明进行操作。

结果Boss被“偷了”500元!

在这个过程中:

  • 你的老板是合法的程序代码;
  • 你是将SQL代码传递到数据库的程序代码和数据库驱动程序;
  • 信函内容是传递给数据库的SQL代码;
  • 小偷是袭击者,俗称“黑客”;
  • 出纳员是数据库;
  • 身份标识通常是数据库的登录名和密码。

目前,SQL 注入漏洞已成为互联网最常见也是影响非常广泛的漏洞,如何避免这样的问题发生呢?

1. 采用预编译语句集

出纳员在处理信函内容的时候,只处理账户和金额,对转账动作不处理。

2. 检查数据类型和格式

出纳员在处理信函内容的时候,会去查验小偷添加内容的类型和格式,是否符合规定。

3. 过滤特殊字符

出纳员在处理信函内容“将500元从123456号账户转到另一个654321账户”的时候,转译出现问题,即报错。

“小鸟云”是深圳前海小鸟云计算有限公司旗下的云计算服务品牌,专注为个人开发者用户、中小型、大型企业用户提供一站式核心网络云端部署服务,促使用户云端部署化简为零,轻松快捷运用云计算。小鸟云是国内为数不多具有ISP/IDC双资质的专业云计算服务商,同时持有系统软件著作权证书、CNNIC地址分配联盟成员证书,通过了ISO27001信息安全管理体系国际认证、ISO9001质量保证体系国际认证。

作为卓越的云计算服务商,小鸟云有着完善的行业解决方案和精湛的云计算技术。自主研发的纯SSD架构云服务器,以50,000IOPS随机读写速度、800Mb/s吞吐量的高性能数值刷新行业记录。其整合资源、细化资源到落地资源的服务举措,旨在打造差异化的开放式闭环生态系统,帮助用户快速构建稳定、安全的云计算环境。且云计算强大的计算能力和弹性扩展优势有效降低用户开发运维难度和整体IT成本,让用户能更专注于核心业务的创新,实现自身更多价值。