网站大量收购独家精品文档,联系QQ:2885784924

WEB常见安全漏洞讲解.pptx

  1. 1、本文档共23页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
WEB常见安全漏洞讲解 Ana 资产 资产 应用程序安全风险 攻击 攻击 攻击 控制 控制 控制 功能 影响 影响 影响 攻击者 攻击向量 安全漏洞 安全控制 技术影响 业务影响 攻击 攻击 功能 资产 影响 影响 攻击 注入 跨站脚本 失效的身份认证和会话管理 不安全的直接对象引用 跨站请求伪造 安全配置错误 功能级访问控制缺失 未验证的重定向和转发 敏感信息泄露 使用含有已知漏洞的组件 OWASP TOP 10 漏洞 1 5 2 3 4 6 10 7 8 9 TOP-1 注入 原因:应用程序缺少对输入进行安全性设计。 方式:攻击者将一些包含指令的数据发送给解释器,欺骗解释器执行计划外的命令。 危害:读取或篡改数据库的信息,甚至能够获得服务器的包括管理员的权限。 TOP-1 注入 什么是SQL注入? 通过把SQL命令 用户提交的数据中, 代码原有SQL语句的语义,从而达到 服务器 恶意的SQL命令。 插入 改变 控制 执行 可以插入SQL语句并执行 TOP-1 注入 应用程序在下面存在漏洞的 SQL语句的构造中使用不可信数据: String query = SELECT * FROM accounts WHERE custID= + request.getParameter(id) +; 攻击者在浏览器中将“ id ”参数的值修改成 10000’ or ’1’=’1。 如: /app/accountView?id= 这样查询语句的意义就变成了从 accounts表中返回所有的记录。 SELECT * FROM accounts WHERE custID= 10000 ; SELECT * FROM accounts WHERE custID= ; ‘ ‘ ‘ ‘ 漏洞案例 10000’ or ’1’=’1 TOP-1 注入 如何识别SQL注入 数字型 单引号: /xx.asp?id=1’ 提示错误 逻辑真假:/xx.asp?id=1 and 1=1 返回正确 /xx.asp?id=1 and 1=2 返回错误 加减符号:/xxx.asp?id=2-1 返回与id=1相等 字符型 单引号: /xx.asp?name=xx’ 提示错误 逻辑真假:/xx.asp?name=xx’ and ‘a’=‘a 返回正确 /xx.asp?name=xx’ and ‘a’=‘b 返回错误 加减符号:/xxx.asp?name=pet’+’ter 返回与name=petter相同 搜索型 单引号: /xx.asp?keyword=1’ 提示错误 逻辑真假:/xx.asp?keyword=1%’ and ‘%’=‘ 返回查询1的内容 /xx.asp?keyword=1%’ and ‘%1’=‘ 无内容返回或不是1的内容 TOP-1 注入 防范 1 参数校验:  传递的参数做校验,如果不合法,直接拒绝请求。  1.1 如果是数字类型,判断是否为数字,如果不是,直接拒绝请求  1.2 如果有格式的类型(比如 日期,email,电话,身份证号码等等),判断是非符合格式,如果不符合格式,拒绝请求。  1.3 如果是字符串类型,没有特殊的格式,需要对字符串长度做校验,如果长度大于数据库该字段的定义长度,直接拒绝请求。     比如 姓名,数据库定义的事 varchar(12),如果输入超过12个字符,直接拒绝请求 2 使用 PrepareStatement。PrepareStament可以有效防御sql注入攻击。    PrepareStatement原理是:mysql执行树会根据预设的参数做转义,可以把注入的sql当作一个参数执行,而不会当作语句执行   php 应用, 可以使用PrepareStatement 替代  Statement写法。 3数据库权限做限制 3.1 不能对业务账号开 select information_schema 权限。因为一旦某个漏洞被成功注入,information_schema库暴露所有库,所有表,字段的定义。给sql注入者提供了便利,,, 注入者不需要猜测表结构,就能轻松获取所有表的定义,进而轻松获取所有表的数据 3.2 各个业务账号只能访问自己

文档评论(0)

1112111 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档