北风网项目实战培训讲师:风雨(北风网版权所有)Php开发漏洞及运维安全第二讲xss跨站脚本攻击原理与预防什么是Xss攻击XSS是一种经常出现在web应用中的计算机安全漏洞,它允许恶意web用户将代码植入到提供给其它用户使用的页面中。比如这些代码包括HTML代码和客户端脚本。攻击者利用XSS漏洞旁路掉访问控制——例如同源策略(sameoriginpolicy)。这种类型的漏洞由于被黑客用来编写危害性更大的phishing攻击而变得广为人知。对于跨站脚本攻击,黑客界共识是:跨站脚本攻击是新型的“缓冲区溢出攻击“,而JavaScript是新型的“ShellCode”。XSS危害Javascript能干啥盗取cookie钓鱼获取用户击键数据xss蠕虫web僵尸XSS漏洞的分类本地利用漏洞,这种漏洞存在于页面中客户端脚本自身。Alice给Bob发送一个恶意构造了Web的URL。Bob点击并查看了这个URL。恶意页面中的JavaScript打开一个具有漏洞的HTML页面并将其安装在Bob电脑上。具有漏洞的HTML页面包含了在Bob电脑本地域执行的JavaScript。Alice的恶意脚本可以在Bob的电脑上执行Bob所持有的权限下的命令XSS漏洞的分类反射式漏洞,这种漏洞和类型A有些类似,不同的是Web客户端使用Server端脚本生成页面为用户提供数据时,如果未经验证的用户数据被包含在页面中而未经HTML实体编码,客户端代码便能够注入到动态页面中。XSS漏洞的分类存储式漏洞,该类型是应用最为广泛而且有可能影响到Web服务器自身安全的漏洞,骇客将攻击脚本上传到Web服务器上,使得所有访问该页面的用户都面临信息泄漏的可能,其中也包括了Web服务器的管理员。XSS防御基于特征的防御XSS漏洞和著名的SQL注入漏洞一样,都是利用了Web页面的编写不完善,所以每一个漏洞所利用和针对的弱点都不尽相同。这就给XSS漏洞防御带来了困难:不可能以单一特征来概括所有XSS攻击。XSS防御1.过滤输入•如果输入数据只包含字母和数字,那么任何特殊字符都应当阻止•对输入的数据经行严格匹配,比如邮件格式,用户名只包含英文或者中文、下划线、连字符•ctype_*,is_*,preg_match,strlen•注意:慎用str_replaceXSS防御2.转义输出stringstrip_tags(string$str[,string$allowable_tags])stringhtmlspecialchars(string$string[,int$quote_style[,string$charset[,bool$double_encode]]]):ConvertspecialcharacterstoHTMLentitiesstringhtmlentities(string$string[,int$quote_style[,string$charset[,bool$double_encode]]]):ConvertallapplicablecharacterstoHTMLentities<>课程学习地址:php视频教程:欢迎访问我们的官方网站