- 1、本文档共34页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Web应用常见安全漏洞及防范措施
June. 2010
NSFOCUS 陈煜辉
Professional Security Solution Provider
OWASP
?开放式Web应用程序安全项目(OWASP,Open
Web Application Security Project)
A1: Injection
A2: Cross-Site Scripting (XSS)
A3: Broken Authentication and Session Management
A4: Insecure Direct Object References
A5: Cross-Site Request Forgery (CSRF)
A6: Security Misconfiguration
A7: Insecure Cryptographic Storage
A8: Failure to Restrict URL Access
A9: Insufficient Transport Layer Protection
A10: Unvalidated Redirects and Forwards
1 注入
? OWASP TOP ONE
SQL注入
原理 防范
概念
SQL注入是注入式攻击
的一种,其特征是利用
SQL注入漏洞产生原因
在于没有采取有效措施
l参数化查询
l存储过程
数据库层的漏洞,在输
入内容中插入SQL指
令,改变SQL语句查询
结构,并诱使数据库服
务器执行,从而达成攻
区分SQL指令和用户输
入数据,导致攻击者可
将攻击指令嵌入输入数
据,改变SQL语句查询
结构并诱使数据库系统
l白名单验证
l黑名单验证
l转义
击目标。 执行,从而达成攻击目
标。
示例
? 用户输入: ID=1000’;DROP TABLE ShipmentOrders ; --
? 数据库执行:
? SELECT * FROM ShipmentOrders WHERE ID = ‘1000’;
? DROP TABLE ShipmentOrders ;--’
2 跨站脚本
? OWASP TOP TWO
跨站脚本攻击
原理 防范
概念
跨站脚本攻击是指攻击
者利用网站应用程序对
用户输入验证不足或处
置不当,输入内容可以
跨站脚本漏洞原理就是
往HTML中注入有害脚
本,在没有有效去除有
害脚本的情况下,保持
l不插入不可信数据
l输入验证
lHTML转义
l标签属性转义
被执行,从而盗取受害 完整无错的脚本将被客
lJavaScript转义
者信息,或者使受害者 户端浏览器执行,从而
机器执行恶意代码一种 达成攻击者的目的。 攻击方式。
示例
? 示例网页中存在一个输入文本框,用来收集用户电子邮箱等
信息。inputclass=input type=text name=Email/
? 如果攻击者在电子邮箱输入框中输入如下内容:
aaa@scriptalert(document.cookie)/script
? 重新加载页面时,代码” scriptalert(document.cookie)
/script”会被执行
3 认证和会话管理
? OWASP TOP THREE
认证和会话管理
认证和会话管理
的主要安全威胁
认证
会话
窃取用户名字和
窃听会话的
密码
明文传输
session ID,进
而冒充用户进行
认证漏洞
Web应用访问
认证和会话管理
?加强认证管理
l认证机制本身必须是简单、集中和标准化的
l验证所有与认证相关的函数
l采用SSL的实现方法
认证和会话管理
?加强会话管理
攻击者可以窃听我们访问 Web应用时的用户名和密码,或者是我
们的会话,从而得到 sessionID,进而冒充用户进行 Http访问的过程。
l会话标识未更新
l使用较强的会话标识符
l保护会话中使用的 cookie
l强制执行一个会话最大空闲时间
l强制执行一个会话最大生存周期
l允许用户终止其会话
l在会话终止时清空其数据
4 不安全的对象直接引用
? OWASP TOP FOUR
不安全的对象直接引用
?不安全的对象直接引用
指一个已经授权的用户,通过更改访问时的一个参数,从而访问到了
原本其并没有得到授权的对象 。
示例
? //应用程序使用没有验证的数据在SQL语句中访问账号信息
? String query=SELECT * FROM accts WHERE account = ?;
? PreparedStatement pstmt
=connection.prepareStatement (query , … );
? pstmt.setString ( 1, request.getparameter (acct));
文档评论(0)