书签 分享 收藏 举报 版权申诉 / 80
上传文档赚钱

类型(数据库原理课件)Chapter12-Security.ppt

  • 上传人(卖家):晟晟文业
  • 文档编号:4980737
  • 上传时间:2023-01-30
  • 格式:PPT
  • 页数:80
  • 大小:1.09MB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《(数据库原理课件)Chapter12-Security.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    数据库 原理 课件 Chapter12 Security
    资源描述:

    1、 引言引言v 数据库的特点之一是数据库的特点之一是DBMS提供统一的数据保护功能来保证提供统一的数据保护功能来保证数据的安全可靠和正确有效。数据的安全可靠和正确有效。数据的安全性数据的安全性保护数据库防止恶意的破坏和非法的存取保护数据库防止恶意的破坏和非法的存取防范对象:非法用户和非法操作防范对象:非法用户和非法操作 数据的完整性数据的完整性防止数据库中存在不符合语义的数据,即防止数据库中存在不正防止数据库中存在不符合语义的数据,即防止数据库中存在不正确的数据确的数据防范对象:不合语义的、不正确的数据防范对象:不合语义的、不正确的数据 实体完整性实体完整性 参照完整性参照完整性 用户自定义的完

    2、整性用户自定义的完整性 可信计算机系统评测标准可信计算机系统评测标准v 1985年美国国防部(年美国国防部(DoD)正式颁布)正式颁布 DoD可信计算机系可信计算机系统评估标准统评估标准(Trusted Computer System Evaluation Criteria,简称简称TCSEC或或DoD85,又称橘皮书,又称橘皮书)v 该标准扩展到数据库管理系统,称为该标准扩展到数据库管理系统,称为Trusted Database Interpretation,简称,简称TDI,又称紫皮书,又称紫皮书v TCSEC(TDI)将系统的安全级别划分为将系统的安全级别划分为4组组7个级别。个级别。可

    3、信计算机系统评测标准可信计算机系统评测标准安安 全全 级级 别别 定定 义义A1验证设计(验证设计(Verified Design)B3安全域(安全域(Security Domains)B2结构化保护(结构化保护(Structural Protection)B1标记安全保护(标记安全保护(Labeled Security Protection)C2受控的存取保护受控的存取保护(Controlled Access Protection)C1自主安全保护自主安全保护(Discretionary Security Protection)D最小保护(最小保护(Minimal Protection)第第

    4、12章章 数据库安全性数据库安全性12.1 数据库安全性控制12.2 视图机制12.3 审计(Audit)12.4 数据加密12.5 统计数据库安全性12.1 数据库安全性控制概述数据库安全性控制概述v非法使用数据库的情况非法使用数据库的情况 编写合法程序绕过编写合法程序绕过DBMS及其授权机制及其授权机制 直接或编写应用程序执行非授权操作直接或编写应用程序执行非授权操作 通过多次合法查询数据库从中推导出一些保密数据通过多次合法查询数据库从中推导出一些保密数据数据库安全性控制概述(续)数据库安全性控制概述(续)计算机系统中,安全措施是一级一级层层设置计算机系统中,安全措施是一级一级层层设置计算

    5、机系统的安全模型 应用应用DBMSOS DB 低低 高高安全性控制层次安全性控制层次 方法:方法:用户标识用户标识和鉴定和鉴定 存取控制存取控制审计审计视图视图 操作系统操作系统 安全保护安全保护 加密存储加密存储数据库安全性控制概述(续)数据库安全性控制概述(续)v数据库安全性控制的常用方法数据库安全性控制的常用方法 用户标识和鉴定用户标识和鉴定 存取控制存取控制 视图视图 审计审计 密码存储密码存储12.1 数据库安全性控制数据库安全性控制用户标识与鉴别存取控制自主存取控制方法授权与回收数据库角色强制存取控制方法(1)用户标识与鉴别用户标识与鉴别v用户标识与鉴别用户标识与鉴别 (Ident

    6、ification&Authentication)系统提供的最外层安全保护措施系统提供的最外层安全保护措施用户标识与鉴别(续)用户标识与鉴别(续)v 用户标识用户标识v 口令口令 系统核对口令以鉴别用户身份系统核对口令以鉴别用户身份 v 用户名和口令易被窃取用户名和口令易被窃取n每个用户预先约定好一个每个用户预先约定好一个计算过程计算过程或者或者函数函数12.1 数据库安全性控制数据库安全性控制用户标识与鉴别存取控制自主存取控制方法授权与回收数据库角色强制存取控制方法(2)存取控制存取控制v存取控制机制组成存取控制机制组成 定义用户权限定义用户权限 合法权限检查合法权限检查 v用户权限定义和合

    7、法权检查机制一起组成了用户权限定义和合法权检查机制一起组成了 DBMS的安全子系统的安全子系统存取控制(续)存取控制(续)v常用存取控制方法常用存取控制方法 自主存取控制自主存取控制(Discretionary Access Control,简,简称称DAC)用户对于不同的数据对象有不同的存取权限,)用户对于不同的数据对象有不同的存取权限,不同的用户对同一对象也有不同的权限,且用户可以不同的用户对同一对象也有不同的权限,且用户可以将自己的权限转授他人将自己的权限转授他人 C2级,级,灵活灵活 强制存取控制强制存取控制(Mandatory Access Control,简称,简称 MAC)每个数

    8、据对象标记一定的密级,每个用户授予)每个数据对象标记一定的密级,每个用户授予某一级别的许可证,对每一个对象控制存取某一级别的许可证,对每一个对象控制存取B1级,严格级,严格12.1 数据库安全性控制数据库安全性控制用户标识与鉴别存取控制自主存取控制方法授权与回收数据库角色强制存取控制方法(3)自主存取控制方法自主存取控制方法v 通过通过 SQL 的的 GRANT 语句和语句和 REVOKE 语句实现语句实现v 用户权限组成用户权限组成n数据对象数据对象n操作类型操作类型v 定义用户存取权限:定义用户可以在哪些数据库对象上进定义用户存取权限:定义用户可以在哪些数据库对象上进行哪些类型的操作行哪些

    9、类型的操作v 定义存取权限称为定义存取权限称为授权授权 自主存取控制方法(续)自主存取控制方法(续)v 关系数据库系统中存取控制对象关系数据库系统中存取控制对象 对象类型对象类型对象对象操操 作作 类类 型型数据库数据库模式模式CREATE SCHEMA基本表基本表CREATE TABLE,ALTER TABLE模式模式视图视图CREATE VIEW索引索引CREATE INDEX数据数据基本表和视图基本表和视图SELECT,INSERT,UPDATE,DELETE,REFERENCES,ALL PRIVILEGES数据数据属性列属性列SELECT,INSERT,UPDATE,REFERENC

    10、ESALL PRIVILEGES关系数据库系统中的存取权限 12.1 数据库安全性控制数据库安全性控制用户标识与鉴别存取控制自主存取控制方法授权与回收数据库角色强制存取控制方法1.1.4 授权与回收授权与回收一、GRANTv GRANT语句的一般格式:语句的一般格式:GRANT,.ON TO,.WITH GRANT OPTION;v 语义:将对指定操作对象的指定操作权限授予指定的用户语义:将对指定操作对象的指定操作权限授予指定的用户 GRANT(续)(续)发出发出GRANT:DBA数据库对象创建者(即属主数据库对象创建者(即属主Owner)拥有该权限的用户拥有该权限的用户 接受权限的用户接受权

    11、限的用户 一个或多个具体用户一个或多个具体用户PUBLIC(全体用户)(全体用户)WITH GRANT OPTION子句子句v WITH GRANT OPTION子句子句:指定:可以指定:可以再授予再授予 没有指定:没有指定:不能传播不能传播v 不允许循环授权不允许循环授权例题例题 例例1 1 把查询把查询Student表权限授给用户表权限授给用户U1U1 GRANT SELECT ON TABLE Student TO U1;例题(续)例题(续)例例2 把对把对Student表和表和Course表的全部权限授予表的全部权限授予用户用户U2和和U3 GRANT ALL PRIVILEGES O

    12、N TABLE Student,Course TO U2,U3;授权与回收(续)授权与回收(续)二、REVOKEv授予的权限可以由授予的权限可以由DBA或其他授权者用或其他授权者用REVOKE语句收回语句收回vREVOKE语句的一般格式为:语句的一般格式为:REVOKE,.ON FROM,.;REVOKE(续)(续)例例8 把用户把用户U4修改学生学号的权限收回修改学生学号的权限收回REVOKE UPDATE(Sno)ON TABLE Student FROM U4;REVOKE(续)(续)例例9 收回所有用户对表收回所有用户对表SC的查询权限的查询权限REVOKE SELECT ON TAB

    13、LE SC FROM PUBLIC;12.1 数据库安全性控制数据库安全性控制用户标识与鉴别存取控制自主存取控制方法授权与回收数据库角色强制存取控制方法(5)数据库角色数据库角色v数据库角色:被命名的一组与数据库操作相关的数据库角色:被命名的一组与数据库操作相关的权限权限 角色是权限的集合角色是权限的集合 可以为一组具有相同权限的用户创建一个角色可以为一组具有相同权限的用户创建一个角色 简化授权的过程简化授权的过程数据库角色数据库角色v 一、角色的创建CREATE ROLE v 二、给角色授权 GRANT ,ON 对象名对象名 TO,数据库角色数据库角色v 三、将一个角色授予其他的角色或用户G

    14、RANT ,TO ,WITH ADMIN OPTION v 四、角色权限的收回 REVOKE,ON FROM,数据库角色(续)数据库角色(续)例例11通过角色来实现将一组权限授予一个用户。通过角色来实现将一组权限授予一个用户。步骤如下:步骤如下:1.首先创建一个角色首先创建一个角色 R1 CREATE ROLE R1;2.然后使用然后使用GRANT语句,使角色语句,使角色R1拥有拥有Student表的表的SELECT、UPDATE、INSERT权限权限 GRANT SELECT,UPDATE,INSERT ON TABLE Student TO R1;12.1 数据库安全性控制数据库安全性控制

    15、用户标识与鉴别存取控制自主存取控制方法授权与回收数据库角色强制存取控制方法自主存取控制缺点自主存取控制缺点v 可能存在数据的可能存在数据的“无意泄露无意泄露”v 原因:这种机制仅仅通过对数据的存取权限来进行安原因:这种机制仅仅通过对数据的存取权限来进行安全控制,而数据本身并无安全性标记全控制,而数据本身并无安全性标记v 解决:对系统控制下的所有主客体实施强制存取控制解决:对系统控制下的所有主客体实施强制存取控制策略策略 (6)强制存取控制方法强制存取控制方法v强制存取控制(强制存取控制(MAC)保证更高程度的安全性保证更高程度的安全性 用户不能直接感知或进行控制用户不能直接感知或进行控制 适用

    16、于对数据有严格而固定密级分类的部门适用于对数据有严格而固定密级分类的部门 军事部门军事部门 政府部门政府部门强制存取控制方法(续)强制存取控制方法(续)v在在MAC中,中,DBMS所管理的全部实体被分为两类所管理的全部实体被分为两类:主体主体是系统中的活动实体是系统中的活动实体 DBMS所管理的实际用户所管理的实际用户 代表用户的各进程代表用户的各进程 客体客体是系统中的被动实体,是受主体操纵的是系统中的被动实体,是受主体操纵的 文件文件 基表基表 索引索引 视图视图强制存取控制方法(续)强制存取控制方法(续)v DBMS为每个主体和客体指派一个为每个主体和客体指派一个敏感度标记 敏感度标记(

    17、敏感度标记(Label)绝密(绝密(Top Secret)机密(机密(Secret)可信(可信(Confidential)公开(公开(Public)主体的敏感度标记称为主体的敏感度标记称为许可证级别许可证级别(Clearance Level)客体的敏感度标记称为客体的敏感度标记称为密级密级(Classification Level)强制存取控制方法(续)强制存取控制方法(续)v 强制存取控制规则强制存取控制规则(1)仅当主体的许可证级别仅当主体的许可证级别大于或等于大于或等于客体的密级时,该客体的密级时,该主体才能主体才能读读取相应的客体取相应的客体(2)仅当主体的许可证级别仅当主体的许可证级

    18、别等于等于客体的密级时,该主体才客体的密级时,该主体才能能写写相应的客体相应的客体主体 客体绝密绝密 绝密绝密 机密机密 机密机密 可信可信 可信可信 公开公开 公开公开MAC与与DACv DAC与与MAC共同构成共同构成DBMS的安全机制的安全机制v 实现实现MAC时要首先实现时要首先实现DAC 原因:较高安全性级别提供的安全保护要包含较低级别的所原因:较高安全性级别提供的安全保护要包含较低级别的所有保护有保护强制存取控制方法(续)强制存取控制方法(续)DAC+MAC安全检查示意图安全检查示意图 SQL语法分析语法分析&语义检查语义检查 DAC 检检 查查 安全检查安全检查 MAC 检检 查

    19、查 继继 续续v 先进行DAC检查,通过DAC检查的数据对象再由系统进行MAC检查,只有通过MAC检查的数据对象方可存取。第第12章章 数据库安全性数据库安全性12.1 数据库安全性控制12.2 视图机制12.3 审计(Audit)12.4 数据加密12.5 统计数据库安全性12.2 视图机制视图机制v视图的作用v1.视图能够简化用户的操作视图能够简化用户的操作v2.视图使用户能以多种角度看待同一数据视图使用户能以多种角度看待同一数据 v3.视图对重构数据库提供了一定程度的逻辑独立视图对重构数据库提供了一定程度的逻辑独立性性 v4.视图能够对机密数据提供安全保护v5.适当的利用视图可以更清晰的

    20、表达查询适当的利用视图可以更清晰的表达查询视图机制视图机制(续续)v把要保密的数据对无权存取这些数据的用户隐藏把要保密的数据对无权存取这些数据的用户隐藏起来,对数据提供一定程度的安全保护起来,对数据提供一定程度的安全保护 主要功能是提供数据独立性,无法完全满足要求主要功能是提供数据独立性,无法完全满足要求 间接实现了支持存取谓词的用户权限定义间接实现了支持存取谓词的用户权限定义 例:对例:对student表,王明:表,王明:Select ON CS 张平:张平:All PRIVILLAGES ON CS视图机制(续)视图机制(续)例例14建立计算机系学生的视图,把对该视图的建立计算机系学生的视

    21、图,把对该视图的SELECT权权限授于王平,把该视图上的所有操作权限授于张明限授于王平,把该视图上的所有操作权限授于张明 先建立计算机系学生的视图先建立计算机系学生的视图CS_Student CREATE VIEW CS_Student AS SELECT *FROM Student WHERE Sdept=CS;视图机制(续)视图机制(续)在视图上进一步定义存取权限在视图上进一步定义存取权限 GRANT SELECT ON VIEW CS_Student TO 王平王平;GRANT ALL PRIVILIGES ON VIEW CS_Student TO 张明;张明;第第12章章 数据库安全

    22、性数据库安全性12.1 数据库安全性控制12.2 视图机制12.3 审计(Audit)12.4 数据加密12.5 统计数据库安全性12.3 审计审计v什么是审计什么是审计 审计日志(审计日志(Audit Log)将用户对数据库的所有操作记录在上面将用户对数据库的所有操作记录在上面 DBA利用审计日志利用审计日志 找出非法存取数据的人、时间和内容找出非法存取数据的人、时间和内容 C2以上安全级别的以上安全级别的DBMS必须具有审计功能必须具有审计功能审计(续)审计(续)v 审计分为审计分为 用户级审计用户级审计针对自己创建的数据库表或视图进行审计针对自己创建的数据库表或视图进行审计 记录所有用户

    23、对这些表或视图的一切成功和(或)不成功的访记录所有用户对这些表或视图的一切成功和(或)不成功的访问要求以及各种类型的问要求以及各种类型的SQL操作操作 系统级审计系统级审计 DBA设置设置 监测成功或失败的登录要求监测成功或失败的登录要求 监测监测GRANT和和REVOKE操作以及其他数据库级权限下的操作操作以及其他数据库级权限下的操作审计(续)审计(续)vAUDIT语句:设置审计功能语句:设置审计功能 vNOAUDIT语句:取消审计功能语句:取消审计功能 审计(续)审计(续)例例15对修改对修改SC表结构或修改表结构或修改SC表数据的操作进行审计表数据的操作进行审计 AUDIT ALTER,

    24、UPDATE ON SC;例例16取消对取消对SC表的一切审计表的一切审计 NOAUDIT ALTER,UPDATE ON SC;第第12章章 数据库安全性数据库安全性12.1 数据库安全性控制12.2 视图机制12.3 审计(Audit)12.4 数据加密12.5 统计数据库安全性12.4 数据加密数据加密v 数据加密 防止数据库中数据在存储和传输中失密的有效手段v 加密的基本思想 根据一定的算法将原始数据变换为不可直接识别的格式,从而使得不知道解密算法的人无法获知数据的内容v 加密方法 替换方法 置换方法 混合方法v DBMS中的数据加密第第12章章 数据库安全性数据库安全性12.1 数据

    25、库安全性控制12.2 视图机制12.3 审计(Audit)12.4 数据加密12.5 统计数据库安全性v非法使用数据库的情况非法使用数据库的情况 编写合法程序绕过编写合法程序绕过DBMS及其授权机制及其授权机制 直接或编写应用程序执行非授权操作直接或编写应用程序执行非授权操作 通过多次合法查询数据库从中推导出一些保密数据通过多次合法查询数据库从中推导出一些保密数据12.5 统计数据库安全性统计数据库安全性v 统计数据库统计数据库 允许用户查询允许用户查询聚集聚集类型的信息(如合计、平均值等)类型的信息(如合计、平均值等)不允许查询不允许查询单个单个记录信息记录信息v 统计数据库中特殊的安全性问

    26、题统计数据库中特殊的安全性问题 隐蔽的信息通道隐蔽的信息通道 能从合法的查询中推导出不合法的信息能从合法的查询中推导出不合法的信息统计数据库安全性(续)统计数据库安全性(续)例例1:下面两个查询都是合法的:下面两个查询都是合法的:1本公司共有多少女高级程序员?本公司共有多少女高级程序员?2本公司女高级程序员的工资总额是多少?本公司女高级程序员的工资总额是多少?如果第一个查询的结果是如果第一个查询的结果是“1”,那么第二个查询的结果显然就是这个程序员的工资数。那么第二个查询的结果显然就是这个程序员的工资数。规则规则1:任何查询至少要涉及:任何查询至少要涉及N(N足够大足够大)个以上的记录个以上的

    27、记录统计数据库安全性(续)统计数据库安全性(续)例例2:用户:用户A发出下面两个合法查询:发出下面两个合法查询:1用户用户A和其他和其他N个程序员的工资总额是多少?个程序员的工资总额是多少?2用户用户B和其他和其他N个程序员的工资总额是多少?个程序员的工资总额是多少?若第一个查询的结果是若第一个查询的结果是X,第二个查询的结果是,第二个查询的结果是Y,由于用户由于用户A知道自己的工资是知道自己的工资是Z,那么他可以计算出用户那么他可以计算出用户B的工资的工资=Y-(X-Z)。原因:两个查询之间有很多重复的数据项原因:两个查询之间有很多重复的数据项规则规则2:任意两个查询的相交数据项不能超过:任

    28、意两个查询的相交数据项不能超过M个个 统计数据库安全性(续)统计数据库安全性(续)可以证明,在上述两条规定下,如果想获知用户可以证明,在上述两条规定下,如果想获知用户B的工资额的工资额 A至少需要进行至少需要进行1+(N-2)/M次查询次查询规则规则3:任一用户的查询次数不能超过:任一用户的查询次数不能超过1+(N-2)/M 如果两个用户合作查询就可以使这一规定失效如果两个用户合作查询就可以使这一规定失效数据库安全机制的设计目标:数据库安全机制的设计目标:试图破坏安全的人所花费的代价试图破坏安全的人所花费的代价 得到的利益得到的利益统计数据库安全性(续)统计数据库安全性(续)可以证明,在上述两

    29、条规定下,如果想获知用户可以证明,在上述两条规定下,如果想获知用户B的工资额的工资额 A至少需要进行至少需要进行1+(N-2)/M次查询次查询规则规则3:任一用户的查询次数不能超过:任一用户的查询次数不能超过1+(N-2)/M 如果两个用户合作查询就可以使这一规定失效如果两个用户合作查询就可以使这一规定失效数据库安全机制的设计目标:数据库安全机制的设计目标:试图破坏安全的人所花费的代价试图破坏安全的人所花费的代价 得到的利益得到的利益web应用安全威胁应用安全威胁神话:神话:“我们的网站是安全的我们的网站是安全的”“我们使用了网络扫描工具”网络扫描工具不懂应用,不能彻底提高web应用安全性“我

    30、们已经使用了防火墙”为了保证正常访问,80和443端口始终要开放“我们使用了SSL加密数据”仅仅保护了交互数据,并没有保护web应用本身“我们每个季度都进行渗透测试”应用在不断的变更之中web应用安全在哪?应用安全在哪?(WASC)OWASP top 10十大安全威胁十大安全威胁1.跨站脚本攻击(XSS)2.注入缺陷a)SQL注入,XPATH注入3.恶意文件执行(远程文件包含)4.不安全的直接对象引用(Parameter tampering)5.跨站请求伪造(CSRF)6.信息泄露和错误处理不当7.身份验证和会话管理缺陷8.不安全的加密存储9.通信安全10.验证绕过跨站脚本攻击跨站脚本攻击“X

    31、SS flaws occur whenever an application takes user supplied data and sends it to a web browser without first validating or encoding that content.XSS allows attackers to execute script in the victims browser which can hijack user sessions,deface web sites,possibly introduce worms,etc.”Web应用把用户输入的未经过滤或

    32、编码的数据直接发送给浏览器。XSS会导致攻击者在受害者的浏览器中执行脚本程序,这些脚本程序可以劫持用户的会话、修改网页甚至传播蠕虫。JavaScript,VBScript,ActiveX,HTML,or Flash都可以注入到存在漏洞的web应用 网页挂马 钓鱼攻击XSS攻击攻击XSS攻击攻击XSS的危害的危害 从你下在浏览的域中偷到你的信息 完全修改你看到的页面内容 从现在开始,跟踪你在浏览器中的每一个动作 把你重定向到一个恶意站点 利用浏览器的漏洞控制你的机器阻止阻止XSS攻击攻击 显示用户输入的数据时进行转义 转义成无害的html字符 变成<script>仍然会显示成 过滤程

    33、序的正确编写 过滤基于所有允许的字符,而不是基于“恶意”字符 如:只接收 A,B,C or 1,2,3 新出现的编码方案可以绕过基于“恶意”字符的过滤程序 XSS cheat sheet:http:/ha.ckers.org/xss.html什么是什么是SQL注入注入The ability to inject SQL commands into the database enginethrough an existing application产生的原因产生的原因 网络应用接受用户的输入提高交互性 用户登录 查询 输入的数据未经过滤 用户登录:$sql=“Select*From users W

    34、here username=”.$account.“AND”.“passwd=“.$passwd.“”;$Account=foo,$passwd=bar$sql=“Select*From Users Where username=foo AND passwd=bar”;How it works?$sql=“Select*From users Where”.“username=”.$account.“AND”.“passwd=“.$passwd.“”;$account=foo,$passwd=bar OR 1=1$sql=“Select*From users Where username=foo

    35、 AND passwd=bar OR 1=1”;How it works?$sql=“Select*From users Where”.“username=”.$account.“AND”.“passwd=“.$passwd.“”;$account=foo OR 1=1#,$passwd=blah$sql=“Select*From users Where username=foo OR 1=1#AND passwd=blah”;一个更恶意的一个更恶意的SQL注入注入$sql=“Select prodinfo From prodtable Where prodname=”.$prodname.“

    36、”;提交如下的数据:blah;DROP TABLE prodinfo;#$sql=“Select prodinfo From prodtable Where prodname=blah;DROP TABLE prodinfo;#”语句1:Select prodinfo From prodtable Where prodname=blah;语句2:DROP TABLE prodtable;#!prodtable表被删除表被删除!更严重的后果更严重的后果 创建windows账号 SELECT*FROM users WHERE login=;exec master.xp_cmdshell net u

    37、sers username password/add;-and password=添加到administrator组:SELECT*FROM users WHERE login=;exec master.xp_cmdshell net localgroup Administrators username/add;-and password=SQL Injection examples are outlined in:http:/ http:/ clients Where”.“account=$acc AND”.“pin=$pin”;$acc=1 or 1=1#$pin=1111Select*From clients Where account=1 OR 1=1#AND pin=1111SQL注入字符注入字符 or“字符串表示符-or#单行注释/*/多行注释+加,字符串连接运算符%通配符SQL注入的后果注入的后果 最好的结果 泄露一些重要信息 数据库信息 表信息 列信息 数据导出 导出库中的数据 控制主机 控制运行数据库的主机SQL注入的防范方法注入的防范方法 参数过滤,”,select,drop,update 类型检查 数据库设置合理的权限,最小权限原则 OR映射

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:(数据库原理课件)Chapter12-Security.ppt
    链接地址:https://www.163wenku.com/p-4980737.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库