[安全生产管理]Web应用安全编码

上传人:卓****库 文档编号:180718237 上传时间:2021-04-25 格式:PPTX 页数:36 大小:1.18MB
返回 下载 相关 举报
[安全生产管理]Web应用安全编码_第1页
第1页 / 共36页
[安全生产管理]Web应用安全编码_第2页
第2页 / 共36页
[安全生产管理]Web应用安全编码_第3页
第3页 / 共36页
[安全生产管理]Web应用安全编码_第4页
第4页 / 共36页
[安全生产管理]Web应用安全编码_第5页
第5页 / 共36页
点击查看更多>>
资源描述

《[安全生产管理]Web应用安全编码》由会员分享,可在线阅读,更多相关《[安全生产管理]Web应用安全编码(36页珍藏版)》请在金锄头文库上搜索。

1、Web应用安全编码,安全技术研究所 中国移动通信研究院,内容简介,1,2010 OWASP TOP 10,2,OWASP TOP 10漏洞攻防,3,小结,2007 OWASP TOP10,2007 OWASP TOP10,2010 OWASP TOP10(NO.1-NO.5,2010 OWASP TOP10(NO.6-NO.10,Web安全风险变化,OWASP TOP 10,您打算从哪里开始,2,3,4,5,6,7,8,9,10,1,内容简介,1,2010 OWASP TOP 10,2,OWASP TOP 10漏洞攻防,3,小结,2010 OWASP TOP10-NO.10,攻击者可能利用未经

2、验证的重定向目标来实现钓鱼欺骗,诱骗用户访问恶意站点。 攻击者可能利用未经验证的跳转目标来绕过网站的访问控制检查,实例,2010 OWASP TOP10-NO.10,尽量不用重定向和跳转 对重定向或跳转的参数内容进行检查,拒绝站外地址或特定站内页面 不在URL中显示目标地址,以映射的代码表示(http:/,2010 OWASP TOP10-NO.9,网络窃听(Sniffer)可以捕获网络中流过的敏感信息,如密码,Cookie字段等。高级窃听者还可以进行ARP Spoof,中间人攻击,某网站的登录页面没有进行加密,攻击者在截取网络包后,可以获得用户的登录凭据信息。 某网站的HTTPS网页内容中还

3、包含一些HTTP网页的引用。攻击者在截取网络包后,可以从HTTP请求中发现客户端的Session ID,实例,2010 OWASP TOP10-NO.9,对所有验证页面都使用SSL或TLS加密 对所有敏感信息的传输都使用SSL/TLS加密 在网页中不要混杂HTTP和HTTPS内容 对Cookie使用Secure标签 只允许SSL 3.0或TLS 1.0以上版本协议 有需要的情况下,要求客户端证书,2010 OWASP TOP10-NO.8,某些Web应用包含一些“隐藏”的URL,这些URL不显示在网页链接中,但管理员可以直接输入URL访问到这些“隐藏”页面。如果我们不对这些URL做访问限制,攻

4、击者仍然有机会打开它们,某商品网站举行内部促销活动,特定内部员工可以通过访问一个未公开的URL链接登录公司网站,购买特价商品。此URL通过某员工泄露后,导致大量外部用户登录购买。 某公司网站包含一个未公开的内部员工论坛(http:/,实例,2010 OWASP TOP10-NO.8,对于网站内的所有内容(不论公开的还是未公开的),都要进行访问控制检查 只允许用户访问特定的文件类型,比如.html, .asp, .php等,禁止对其他文件类型的访问,2010 OWASP TOP10-NO.7,对重要信息不进行加密处理或加密强度不够,或者没有安全的存储加密信息,都会导致攻击者获得这些信息,对于重要

5、信息,比如银行卡号、密码等,直接以明文写入数据库 使用自己编写的加密算法进行简单加密 使用MD5, SHA-1等低强度的算法 将加密信息和密钥存放在一起,实例,2010 OWASP TOP10-NO.7,对所有重要信息进行加密 仅使用足够强度的加密算法,比如AES、RSA 存储密码时,用SHA-256等健壮哈希算法进行处理 采用Salt技术来防范rainbow表攻击 产生的密钥不能与加密信息一起存放 严格控制对加密存储的访问,2010 OWASP TOP10-NO.6,管理员在服务器安全配置上的疏忽,通常会导致攻击者非法获取信息、篡改内容,甚至控制整个系统,1.服务器没有及时安装补丁 2.网站

6、没有禁止目录浏览功能 3.网站允许匿名用户直接上传文件 4.服务器上文件夹没有设置足够权限要求,允许匿名用户写入文件 5.Web网站安装并运行并不需要的服务,比如FTP或SMTP 6.出错页面向用户提供太过具体的错误信息,比如call stack 7.Web应用直接以SQL SA帐号进行连接,并且SA帐号使用默认密码 8.SQL服务器没有限制系统存储过程的使用,比如xp_cmdshell,实例,2010 OWASP TOP10-NO.6,Web文件/SQL数据库文件不存放在系统盘上 严格检查所有与验证和权限有关的设定 权限最小化,2010 OWASP TOP10-NO.5,攻击者构造恶意URL

7、请求,然后诱骗合法用户访问此URL链接,以达到在Web应用中以此用户权限执行特定操作的目的。 和反射型XSS的主要区别是:反射型XSS的目的是在客户端执行脚本;CSRF的目的是在Web应用中执行操作,某网银在执行用户转账时会提交如下URL请求: http:/ 攻击者向用户发送邮件,其中包含如下链接: View my Pictures,实例,2010 OWASP TOP10-NO.5,避免在URL中明文显示特定操作的参数内容 使用同步令牌(Synchronizer Token),检查客户端请求是否包含令牌及其有效性 检查RefererHeader,拒绝来自非本网站的直接URL请求,2010 OW

8、ASP TOP10-NO.4,服务器上具体文件名、路径或数据库关键字等内部资源被暴露在URL或网页中,攻击者可以此来尝试直接访问其他资源,某网站的新闻检索功能可搜索指定日期的新闻,但其返回的URL中包含了指定日期新闻页面的文件名: http:/ 攻击者可以尝试不同的目录层次来获得系统文件win.ini: http:/ 2000年澳大利亚税务局网站曾经发生一位用户通过修改其URL中ABN ID号而直接访问到17000家公司税务信息的事件,实例,防范措施范措施,避免在URL或网页中直接引用内部文件名或数据库关键字 可使用自定义的映射名称来取代直接对象名http:/ 锁定网站服务器上的所有目录和文件

9、夹,设置访问权限 验证用户输入和URL请求,拒绝包含./或./的请求,2010 OWASP TOP10-NO.3,用户凭证和Session ID是Web应用中最敏感的部分,也是攻击者最想获取的信息。 攻击者会采用网络嗅探、暴力破解、社会工程等手段尝试获取这些信息,某航空票务网站将用户Session ID包含在URL中:http:/ 一位用户为了让她朋友看到这个促销航班的内容,将上述链接发送给朋友,导致他人可以看到她的会话内容。 一位用户在公用电脑上没有登出他访问的网站,导致下一位使用者可以看到他的网站会话内容。 登录页面没有进行加密,攻击者通过截取网络包,轻易发现用户登录信息,实例,2010

10、OWASP TOP10-NO.3,用户密码强度(普通:6字符以上;重要:8字符以上;极其重要:使用多种验证方式) 不使用简单或可预期的密码恢复问题 登录出错时不给过多提示 对多次登录失败的帐号进行短时锁定 验证成功后更换Session ID 使用128位以上有足够随机性的Session ID 设置会话闲置超时(可选会话绝对超时) 保护Cookie(Secure flag/HTTPOnlyflag) 不在URL中显示Session ID,2010 OWASP TOP10-NO.2,Web浏览器可以执行HTML页面中嵌入的脚本命令,支持多种语言类型 (JavaScript, VBScript, A

11、ctiveX, etc.),其中最主要的是JavaScript. 攻击者制造恶意脚本,并通过Web服务器转发给普通用户客户端,在其浏览器中执行。到达盗取用户身份、拒绝服务攻击、篡改网页、模拟用户身份发起请求或执行命令等 可分为两种类型:反射型、存储型,反射型XSS:在搜索引擎中输入含脚本的查询内容后,查询结果页面中会出现脚本内容。通常要结合社会工程学欺骗用户执行。 存储型XSS:在某论坛中攻击者新建一个帖子,在提交文本框时输入了脚本内容。当其他用户打开这个帖子时,其中包含的脚本内容被执行,实例,2010 OWASP TOP10-NO.2-存储XSS攻击,1. 正常服务器信息,2. 服务器存储恶

12、意代码,3. 用户浏览网页,4. 服务器将恶意代码返回给用户,5. 客户端浏览器执行恶意代码,攻击者,普通用户客户端,Web服务器,在论坛发帖子: 免费获取Q币! 恶意代码,重要通知,Re:沙发,Re:地板,Re:地下室沙发,Re:地下室地板-_-,Re:免费获取Q币! 内容: 恶意代码,Re:谁又发垃圾广告啦,恶意代码 执行,浏览器,浏览器,Outlook,正常访问,恶意代码隐藏在链接中,reflected” 代码,1,2010 OWASP TOP10-NO.2-反射XSS攻击,From: 攻击者 To: 用户 免费赠送Q币! CLICK HERE,恶意代码 安全上下文: 目标站点,普通合法

13、会话 安全上下文: 目标站点,攻击者,Web服务器,普通用户客户端,恶意代码 执行,2010 OWASP TOP10-NO.2,严格检查用户输入 限制在HTML代码中插入不可信的内容(可被用户输入或修改的内容),将Script,style,iframe,onmouseover等有害字符串过滤去掉 对于需要插入的不可信内容必须先进行转义(尤其对特殊字符、语法符合必须转义或重新编码),直接将HTML标签最关键的字符 将Cookie设置为HttpOnly,防止被脚本获取,XSS安全编程示例,XSS Test Result ASP page,XSS Test Result ASP page Hello

14、 world! alert(“script injectionn”+document.cookie);,alert(“script injectionn”+document.cookie,XSS安全编程示例,void btnSubmit_Click(Object sender, EventArgs e) Response.Write(txtString.Text); alert(hello);” /,HttpRequestValidationException (080004005): A potentially dangerous Request.Form value was detecte

15、d from the client (txtString=”alert(hello”). System.Web.HttpRequest.ValidateString(String s, String valueName, String collectionName) +3307682 System.Web.HttpRequest.ValidateNameValueCollection(NameValueCollection nvc, String collectionName) +108 System.Web.HttpRequest.get_Form() +119 System.Web.Htt

16、pRequest.get_HasForm() +3309630 System.Web.UI.Page.GetCollectionBasedOnMethod(Boolean dontReturnNull) +45 System.Web.UI.Page.DeterminePostBackMode() +65 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +7350 System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +213 System.Web.UI.Page.ProcessRequest() +86 System.Web.UI.Page.ProcessRequestWithNoAssert(HttpContext context) +18

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 工作范文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号