SQL注入攻击方式及防护

Posted 数据机器人

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL注入攻击方式及防护相关的知识,希望对你有一定的参考价值。

SQL注入是当前针对数据库安全进行外部攻击的一种常见手段。现有主流应用大多基于B/S架构开发,SQL注入的攻击方式正是利用web层和通讯层的缺陷对数据库进行外部恶意攻击。将SQL命令巧妙的插入通讯的交互过程中,如:Web表单的递交、域名输入、页面请求等。通过硬性植入的查询语句攻击数据库,利用服务器自身缺陷执行恶意的SQL命令,从而入侵数据库。因此通过SQL注入攻击方式产生的安全事件也在增多,对系统的危害性极大。

SQL注入是怎么产生的?

1)WEB开发人员无法保证所有的输入都已经过滤

2)攻击者利用发送给SQL服务器的输入参数构造可执行的SQL代码(可加入到get请求、post请求、http头信息、cookie中)

3)数据库未做相应的安全配置



SQL注入的8种攻击行为

安全界有句名言“未知攻,焉知防”,想要预防SQL注入,需要进一步剖析SQL注入都有哪些常见攻击方式。

1. 猜测数据库名,备份数据库

2. 猜解字段名称

3. 遍历系统的目录结构,分析结构并发现WEB虚拟目录,植入木马

4. 查询当前用户的数据库权限

5. 设置新的数据库帐户提权得到数据库管理员账户权限

6. 利用存储过程获取操作系统管理员账户

7. 客户端脚本攻击:通过正常的输入提交方式将恶意脚本提交到数据库中,当其他用户浏览此内容时就会受到恶意脚本的攻击。

8. 客户端脚本攻击:通过SQL注入方式将恶意脚本提交到数据库中,直接使用SQL语法UPDATE数据库,并将注入SQL经过“HEX编码”,然后通过exec执行“动态”SQL的特性运行脚本。

综上可知,SQL注入对数据库的攻击方式日趋繁多,危害也日益严重,因此如何做好SQL注入的防护工作也就变成考量数据库安全产品的一道标杆。


SQL注入的6种防护方式

1)、永远不要信任客户端提交的数据,一定要对客户端提交的数据进行校验,校验可以考虑数据类型,字符长度或者正则表达式等方式。

2)、对客户端提交的数据进行转义,例如将" ' "转义为" \' "。

3)、采用预编译绑定变量的SQL语句而不是直接拼接SQL语句。

4)、避免在生产环境中,直接输出错误信息,因为这些错误信息有可能被攻击者利用。

5)、严格执行数据库账号权限管理。

6)、对用户敏感信息特别是密码做严格加密处理。


停止黑客肆虐内网

数据机器人

以上是关于SQL注入攻击方式及防护的主要内容,如果未能解决你的问题,请参考以下文章

浅谈Web安全之SQL注入攻击与防护

网站代码sql注入攻击漏洞修复加固防护措施

SQL注入攻击的常见方式及测试方法

霄享.安全SQL注入攻击详解——2020年8月刊(总第6期)

精彩回顾 | Web安全防护实践探讨: ——如何预防SQL注入跨站脚本web页面防篡改等攻击技术?

Spring Boot 如果防护 XSS + SQL 注入攻击 ?一文带你搞定!