六个建议防止SQL注入式攻击
6页1、六个建议防止SQL注入式攻击SQL 注入攻击的危害性很大。在讲解其防止办法之前,数据库管理员有必要先了解一下其攻击的原理。这有利于管理员采取有针对性 的防治措施。一、SQL 注入攻击的简单示例statement := SELECT * FROM Users WHERE Value= +a_variable + 上面这条语句是很普通的一条 SQL 语句,他主要实现的功能就 是让用户输入一个员工编号然后查询处这个员工的信息。但是若这条 语句被不法攻击者改装过后,就可能成为破坏数据的黑手。如攻击者 在输入变量的时候,输入以下内容 SA001;drop table c_order-。那 么以上这条SQL语句在执行的时候就变为了 SELECT * FROM Users WHERE Value= SA001;drop table c_order-。这条语句是什么意思呢? SA001后面的分号表示一个查询的 结束和另一条语句的开始。c_order后面的双连字符指示当前行余下 的部分只是一个注释,应该忽略。如果修改后的代码语法正确,则服 务器将执行该代码。系统在处理这条语句时,将首先执行查询语句, 查
2、到用户编号为 SA001 的用户信息。然后,数据将删除表 C_ORDER(如果没有其他主键等相关约束,则删除操作就会成功)。 只要注入的 SQL 代码语法正确,便无法采用编程方式来检测篡改。 因此,必须验证所有用户输入,并仔细检查在您所用的服务器中执行 构造SQL命令的代码。二、SQL 注入攻击原理。可见 SQL 注入攻击的危害性很大。在讲解其防止办法之前,数 据库管理员有必要先了解一下其攻击的原理。这有利于管理员采取有 针对性的防治措施。SQL 注入是目前比较常见的针对数据库的一种攻击方式。在这种 攻击方式中,攻击者会将一些恶意代码插入到字符串中。然后会通过 各种手段将该字符串传递到 SQLServer 数据库的实例中进行分析和 执行。只要这个恶意代码符合 SQL 语句的规则,则在代码编译与执 行的时候,就不会被系统所发现。SQL 注入式攻击的主要形式有两种。一是直接将代码插入到与 SQL 命令串联在一起并使得其以执行的用户输入变量。上面笔者举的 例子就是采用了这种方法。由于其直接与 SQL 语句捆绑,故也被称 为直接注入式攻击法。二是一种间接的攻击方法,它将恶意代码注入 要在表中存
3、储或者作为原书据存储的字符串。在存储的字符串中会连 接到一个动态的SQL命令中,以执行一些恶意的SQL代码。注入过程的工作方式是提前终止文本字符串,然后追加一个新的 命令。如以直接注入式攻击为例。就是在用户输入变量的时候,先用 一个分号结束当前的语句。然后再插入一个恶意 SQL 语句即可。由 于插入的命令可能在执行前追加其他字符串,因此攻击者常常用注释 标记“”来终止注入的字符串。执行时,系统会认为此后语句位注 释,故后续的文本将被忽略,不背编译与执行。三、SQL注入式攻击的防治。既然 SQL 注入式攻击的危害这么大,那么该如何来防治呢?下面 这些建议或许对数据库管理员防治SQL注入式攻击有一定的帮助。1、普通用户与系统管理员用户的权限要有严格的区分。 如果一个普通用户在使用查询语句中嵌入另一个 Drop Table 语句,那么是否允许执行呢?由于Drop语句关系到数据库的基本对象, 故要操作这个语句用户必须有相关的权限。在权限设计中,对于终端 用户,即应用软件的使用者,没有必要给他们数据库对象的建立、删 除等权限。那么即使在他们使用SQL语句中带有嵌入式的恶意代码, 由于其用户权限的
《六个建议防止SQL注入式攻击》由会员新**分享,可在线阅读,更多相关《六个建议防止SQL注入式攻击》请在金锄头文库上搜索。
小学安全教育表.doc
2023年初中生中秋节黑板报资料内容.docx
2023年学习实践科学发展观个人发言材料.docx
房建施工的质量安全管理探究---副本.doc
老人与海鸥小练笔
太平洋保险考试模拟试题附答案
驻村第一书记工作先进事迹材料范文
中秋周记范文集锦7篇
(推荐)高压清洗机安全操作制度
推荐-2011年上半年运行车间个人工作总结1
九宫格详细解法
2022年03月云南保山市直医疗卫生单位到高等院校招聘24人笔试参考题库(答案解析)
市场分析年终工作总结.doc
平稳增长混合型证券投资基金托管协议
几种风格需完善.docx
2023年安全生产工作计划2.docx
传热学-第一章习题答案.doc
高考真题字音(学生版)
年产20万吨植物饮料厂区新建项目可行性研究报告模板-立项备案
让数学“活”着回归生活.doc
2022-10-04 12页
2022-12-21 2页
2022-11-12 6页
2023-04-14 14页
2023-05-19 9页
2023-04-29 17页
2023-11-09 4页
2023-11-04 2页
2023-03-19 5页
2022-12-02 3页