行业动态

防御吧作为15年知名老牌域名服务商,CNNIC和CANN双认证域名注册商,已经
持续为500多万个域名提供服务,包括智能DNS/自由转移/隐私保护等服务!
XSS跨站脚本攻击及漏洞防御
2023-02-28 11:50:19 【

XSS 的定义


跨站脚本攻击(cross-site scripting,简称 XSS),是黑客用来潜入 Web 应用程序的最普遍的应用程序层攻击之一。攻击者往Web页面里插入恶意html代码,当用户浏览该页面时,嵌入Web里的html代码会被执行,从而达到恶意攻击用户的特殊目的。


XSS 的目的


盗走客户端 cookies(相当于我们打开房间的钥匙),或者任何可以用于在 Web 站点确定客户身份的其他敏感信息。获取这些信息后,黑客就有了合法用户的身份,从而可以冒充用户与站点交互。


XSS 的危害


盗取各类用户帐号,如机器登录帐号、用户网银帐号、各类管理员帐号;

控制企业数据,包括读取、篡改、添加、删除企业敏感数据的能力;

盗窃企业重要的具有商业价值的资料;

非法转账;

强制发送电子邮件;

网站挂马;

控制受害者机器向其它网站发起攻击

常见的 XSS

反射型XSS、存储型XSS和DOM型XSS。



三种常见的XSS  

反射型 XSS


反射型XSS,简单理解,即把用户输入的数据“反射”给浏览器。该类型只是简单地将用户输入的数据直接或未经过完善的安全过滤就在浏览器中进行输出,导致输出的数据中存在可被浏览器执行的代码数据。


攻击者通常需要诱使用户点击恶意构造的包含XSS代码URL才能攻击成功。当用户点击恶意构造的URL之后,在URL中的XSS代码作为输入提交到服务器端,服务器解析后响应,在响应内容中出现这段XSS代码,最终这段XSS代码被浏览器解析执行。


存储型 XSS


存储型XSS脚本攻击是指Web应用程序会将用户输入的数据信息保存在服务端的数据库或其他文件形式中,网页进行数据查询展示时,会从数据库中获取数据内容,并将数据内容在网页中进行输出展示,因此存储型XSS具有较强的稳定性。


存储型XSS脚本攻击最为常见的场景就是在博客或新闻发布系统中,黑客将包含有恶意代码的数据信息直接写入文章或文章评论中,所有浏览文章或评论的用户,都会在他们客户端浏览器环境中执行插入的恶意代码。


DOM型 XSS


DOM就是文档对象模型(Document Object Model),是在浏览器中展示文档的一种结构格式。DOM使用java script动态脚本来表示文档的结构,比如表单字段或会话cookie。DOM同样可以用作浏览器安全-例如,限制脚本获取其他领域的cookie值。基于DOM的XSS缺陷可能会发生在当前活动的界面,比如一个java script函数请求修改DOM元素,攻击者可以利用当前函数进行攻击。


常见的存储型和反射型的XSS攻击,需要将代码发送到服务器端,然后将结果返回到浏览器。此种利用方式的代码仅仅会在浏览器端执行,不会发送到服务器端。


对于DOM XSS攻击,通常不能进行黑盒测试,因为它需要的不是可以访问到源代码,而是根据客户端的代码进行攻击。自动化测试很少会发现基于DOM的XSS攻击,因为自动化测试是通过发送特定的字段来观察服务器的响应。


漏洞防御  

在用户提交参数前,将提交的字符< 、>、&、" 、' 、+、/等进行转义,严格控制输出。

将输入转化为小写对比,若匹配则过滤。

将cookie设置为http-only,js脚本将无法读取到cookie信息。

纯前端渲染,明确innerText、setAttribute、style,将代码与数据分隔开。

避免不可信的数据拼接到字符串中传递给这些API,如DOM中的内联事件监听器,location、onclick、onerror、onload、onmouseover等,标签的href属性,java script的、setTimeout()、setInterval()等,都能把字符串作为代码运行。

对于不受信任的输入,都应该限定一个合理的长度。

严格的CSP,禁止加载外域代码,禁止外域提交,禁止内联脚本执行等较为严格的方式。



】【打印关闭】 【返回顶部
分享到QQ空间
分享到: 
上一篇揭秘木马背后的小伎俩 下一篇NTP服务的DDoS攻击

立足首都,辐射全球,防御吧专注云防御及云计算服务15年!

联系我们

服务热线:010-56157787 ,010-56159998
企业QQ:4000043998
技术支持:010-56159998
E-Mail:800@fangyuba.com
Copyright ? 2003-2016 fangyuba. 防御吧(完美解决防御与加速) 版权所有 增值许可:京B2-20140042号
售前咨询
公司总机:4000043998 01056155355
24小时电话:010-56159998
投诉电话:18910191973
值班售后/技术支持
售后服务/财务
备案专员
紧急电话:18610088800