XSS之攻击与防御

简介: XSS之攻击与防御

在不少人看来,XSS漏洞造成的危害程度并不大,或者说,一个XSS漏洞的可利用价值并不高。但很多时候看起来一个不起眼的XSS漏洞,在高人的手里,就可能做出一番大动作。

简单介绍下XSS漏洞的分类呗~
XSS 常年位居Web top10 漏洞之列。一般传统的分类, 有反射型XSS 、持久型XSS(包括存储、 DOM等类别)。根据跨站的成因或者特征进行分类,有Flash跨站、mXSS跨站、UBB跨站、宽字节跨站等等。当然这些分类有很多重叠的部分。

国外比较精确的将跨站分类为:服务端跨站(Server XSS)、客户端跨站(Client XSS),然后再细分反射型或者存储型等。这种分类是根据漏洞形成点的位置来看的。

mXSS跨站、UBB跨站这类能详细介绍下么?
mXSS 主要是在DOM操作的过程中浏览器渲染造成的畸变引起的。比如,将数据赋值到a.innerHTML后,再取出重新赋值到b.innerHTML的过程中产生畸变。UBB主 要是论坛里用的比较多,如果存在XSS的话,可以类似这样利用:[img ]javascript :alert();[/ img],在转成html代码的时候造成跨站。

在这些分类中,危害和影响最大的是哪个呢?
一般来说存储型跨站危害相对较严重,攻击面也较广。此外,反射型的危害也不小。 self-xss配合一些csrf漏洞,也可以达到利用效果。总体来说,企业反射型跨站出现的 多一点。黑客可以钓鱼,或注入木马、广告链接。有些在主站注入非法网站的链接, 对公司声誉还是有影响的。很多广告联盟等也会利用XSS跟踪用户行为,窃取用户数据等,利用跨站请求一些JSONP接口获取用户数据。

分享下XSS漏洞的防御措施吧!
我们目前在做一个框架过滤,Java平台在做filter,通过filter做输入拦截。要全部开放使用,可能还需要再观察下。公司到一定量级后统一框架还是很难的,在现有基础上如何找到一个权衡点非常重要。

是否可以分享下针对检测层面和主动检查层面的实践经验呢?
一般反射型跨站比较容易检测。像DOM型跨站 ,我们现在有专门策略去扫描,会模拟webkit内核渲染网页并解析JS,根据执行结果来判断。相对来说误报率还是比较低的。

业内是否有检测XSS漏洞好用的工具?
kali里面有集成一些比较知名的检测工具,例如XSSER等。这种检测一般是上线前需要进行安全评审的规范环节之一。

如何快速精准的发现XSS,降低垃圾数据呢?
我们在检测XSS时都是用不同的语句去尝试,如果尝试的较多就会造成库中存储很多“脏”数据,对于测试环境还好,线上环境可能业务部门经常会报警了。针对这种情况,一般我们会有专门的扫描账号去进行检测,避免对正常业务的干扰。另外,扫描器有时候还会删除数据,针对这个问题,可以做个高危URL配置项来避免。

扫描器漏报误报的问题,有什么方法解决吗?
可以把扫描规则策略做成插件式,还可以根据场景优化,缓解误漏报问题。

分享个思路:
是否可以针对检测范围做个基线性的安全检查,对结果做一次判定,误 报的加flag,后续检测中如果一直为误报可加入黑名单。对于SRC来说也是一个好的思路收集,我们经常会把外部爆出来但扫描器没有发现的XSS构造语句放到扫描器中。

目录
相关文章
|
2月前
|
存储 JavaScript 前端开发
前端xss攻击——规避innerHtml过滤标签节点及属性
前端xss攻击——规避innerHtml过滤标签节点及属性
155 4
|
2月前
|
安全 JavaScript Go
【Web】什么是 XSS 攻击,如何避免?
【Web】什么是 XSS 攻击,如何避免?
|
17天前
|
SQL 安全 Java
java的SQL注入与XSS攻击
java的SQL注入与XSS攻击
33 2
|
18天前
|
前端开发 安全 JavaScript
XSS和CSRF攻击概览
【6月更文挑战第27天】**XSS和CSRF攻击概览** - XSS:利用未验证用户输入的Web应用,注入恶意脚本到浏览器,盗取信息或控制用户账户。防御措施包括输入验证、内容编码、HttpOnly Cookie和CSP。 - CSRF:攻击者诱使用户执行非授权操作,利用现有会话。防御涉及CSRF Tokens、双重验证、Referer检查和SameSite Cookie属性。 应用这些策略可提升Web安全,定期审计和测试同样重要。
23 3
|
13天前
|
存储 JavaScript 网络安全
XSS 攻击是什么?如何防护?
XSS 攻击是什么?如何防护?
17 0
|
2月前
|
存储 监控 安全
应对跨站脚本攻击(XSS)和社会工程学攻击
应对跨站脚本攻击(XSS)和社会工程学攻击
|
1月前
|
SQL 安全 Java
Spring Boot中的跨站点脚本攻击(XSS)与SQL注入防护
【6月更文挑战第15天】在现代Web应用程序开发中,安全性是一个至关重要的课题。跨站点脚本攻击(XSS)和SQL注入是最常见的两种攻击类型,它们可以严重威胁到应用程序的安全。
127 0
|
1月前
|
监控 安全 前端开发
前端安全:XSS攻击与防御策略
抵御XSS攻击的关键策略包括输入验证、输出编码、设置安全HTTP头如CSP和X-XSS-Protection、谨慎管理存储和会话、使用DOMPurify等库进行数据清理、采用安全编码实践、教育用户和开发人员、实施多层防御、持续测试和更新。其他措施如使用非渲染模板引擎、限制错误信息、使用WAF、加密数据、遵守安全编码标准和进行安全审计也是重要步骤。
23 0
|
2月前
|
安全
OWASP ESAPI 预防XSS跨站脚本攻击_xss攻击引入esapi(1)
OWASP ESAPI 预防XSS跨站脚本攻击_xss攻击引入esapi(1)
|
2月前
|
存储 安全 JavaScript
【PHP开发专栏】PHP跨站脚本攻击(XSS)防范
【4月更文挑战第30天】本文探讨了Web开发中的XSS攻击,解释了其原理和分类,包括存储型、反射型和DOM型XSS。XSS攻击可能导致数据泄露、会话劫持、网站破坏、钓鱼攻击和DDoS攻击。防范措施包括输入验证、输出编码、使用HTTP头部、定期更新及使用安全框架。PHP开发者应重视XSS防护,确保应用安全。