常见WEB安全漏洞及整改建议.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
常见WEB安全漏洞及整改建议 HTML表单没有CSRF保护 1.1问题描述: CSRF (Cross-site request forgery),中文名称:跨站请求伪造,也被称 为:one click attack/session riding,缩写为:CSRF/XSRF。 CSRF攻击:攻击者盗用了你的身份,以你的名义发送恶意请求。CSRF 能够做的事情包括:以你名义发送邮件,发消息,盗取你的账号,甚至于 购买商品,虚拟货币转账……造成的问题包括:个人隐私泄露以及财产安 全。 1.2整改建议: CSRF的防御可以从服务端和客户端两方面着手,防御效果是从服务端 着手效果比较好,现在一般的CSRF防御也都在服务端进行。有以下三种 方法: .Cookie Hashing(所有表单都包含同一个伪随机值): .验证码 .One-Time Tokens(不同的表单包含一个不同的伪随机值) 1.3案例: 1 ?服务端进行CSRF防御 服务端的CSRF方式方法很多样,但总的思想都是一致的,就是在客 户端页面增加伪随机数。 1.3.1 Cookie Hashing(所有表单都包含同一个伪随机值): 这可能是最简单的解决方案了,因为攻击者不能获得第三方的 Cookief理论上),所以表单中的数据也就构造失败. //... } } else { //... } ?gt; 这个方法已经可以杜绝99%的CSRF攻击了,那述有1%…?由于用户的 Cookie很容易由于网站的XSS漏洞而被盗取,这就另外的1%。一般的攻击 者看到有需要算Hash值,基本都会放弃了,某些除外,所以如果需要100% 的杜绝,这个不是最好的方法。 1.3.2验证码 这个方案的思路是:每次的用户提交都需要用户在表单中填写一个图 片上的随机字符串,这个方案可以完全解决CSRF,但在易用性方面似乎不 是太好,还有是验证码图片的使用涉及了一个被称为MHTML的Bug,可 能在某些版本的微软IE中受影响。 1.3.3 One-Time Tokens(不同的表单包含一个不同的伪随机值) 在实现One?Time Tokens时,需要注意一点:就是“并行会话的兼容”。 如果用户在一个站点上同时打开了两个不同的表单,CSRF保护措施不应该 影响到他对任何表单的提交。考虑一下如果每次表单被装入时站点牛成一 个伪随机值来覆盖以前的伪随机值将会发生什么情况:用户只能成功地提 交他最后打开的表单,因为所有其他的表单都含有非法的伪随机值。必须 小心操作以确保CSRF保护措施不会影响选项卡式的浏览或者利用多个浏 览器窗口浏览一个站点。 以下实现: ?先是令牌生成函数(gen_token()): function gen_token() { 〃这是贪方便,实际上单使用Rand()得出的随机数作为令牌,也是不 安全的。 〃这个可以参考写的Findbugs笔记中的《Randomobject created and used only once》 $token 二 md5(uniqid(rand(), true)); return $token; } .然后是Session令牌生成函数(gen_stoken()): function gen_stoken() { $pToken 二 if($_SESSION[STOKEN_NAME] == $pToken){ 〃没有值,赋新值 $_SESSION[STOKEN_NAME] = gen_token(); } else{ 〃继续使用IH的值 ?gt; 3).WEB表单生成隐藏输入域的函数: jQuery是继prototype之后又一个优秀的Javascript框架。 jQuery 1.6.3 Z前版本屮存在跨站脚本漏洞。当使用location.hash选择 元素时,通过特制的标签,远程攻击者利用该漏洞注入任意web脚本或 HTMLo 2.2整改方法 目前厂商已经发布了升级补丁以修复此安全问题,补丁获取链接: HYPERLINK /usn/USN-1722-l/ /usn/USN-1722-l/ 2.3整改案例 升级jQuery版本。 3.跨站脚本编制 3.1问题描述: 跨站脚本攻击是通过在网页中加入恶意代码,当访问者浏览网页时恶 意代码会被执行或者通过给管理员发信息的方式诱使管理员浏览,从而获 得管理员权限,控制整个网站。攻击者利用跨站请求伪造能够轻松地强迫 用户的浏览器发岀非故意的HTTP请求,如诈骗性的电汇请求、修改口令 和下载非法的内容等请求。 风险等级:高 风险范围: 任何存在输入/输出方法(包括GET与POST)的页面皆可能存在恶意 符号输入缺陷,主要影响应用包括留言板、在线通讯信息、文章发布页面 等。 3.2整改建议: 对用户输入的参数执行严格检测: 1

文档评论(0)

ggkkppp + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档