- 1、本文档共23页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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 各个业务账号只能访问自己
您可能关注的文档
- U订货图解.pptx
- “中特性-中国经济的发展”-华中师范大学.doc
- 第五章汽车使用.pptx
- 6专题六参与政治生活关注经济发展融入社会生活.ppt
- 加强党性修养,做一名合格党员.pptx
- VFP第3章数据库和数据表的基本操作.pptx
- 【世界区域地理】——南亚及印度.ppt
- 6皱胃变位.ppt
- VLAN原理.pptx
- 加强患者身份识别PDCA联合(护理部)10.14终结.pptx
- TCSPSTC 134-2024 砒霜冶炼砷及伴生重金属污染地块风险管控与修复集成技术规范.docx
- TCGAPA 039-2024 六安黄鸭规范.docx
- SGO 2024_宫颈癌症最新进展PPT课件(英文版).pptx
- TCSTM 01180.2-2024 锻件缺陷检测 第2部分:涡流法.docx
- 2025零信任的部署现状及未来.docx
- 残疾人居家托养服务照料项目服务方案(技术方案).doc
- 《化学反应与电能》-高中化学示范课PPT课件(含视频).pptx
- TCSTM 01180.3-2024 锻件缺陷检测 第3部分:相控阵超声法.docx
- 2025建设工程红外热成像法检测技术规程.docx
- 2025既有建筑结构内部钢筋射线法检测技术规程.docx
文档评论(0)