继续谈论XSS

简介:

这篇文章基于上篇谈论XSS ,想说下自己工作过程中遇到的xss的问题。

易出现XSS的场景

1 jsonp

说说jsonp 中也有说过,jsonp其实是很容易出现安全问题的。由于jsonp的callback是由参数指定的,而必须在response中返回,所以这里的jsonp很容易出现的就是XSS漏洞了。服务端要切记着对这个callback进行处理,比如可以使用白名单机制,或者使用过滤黑名单。我个人一般使用的是强制callback为数字、英文单字和点。

关于jsonp很容易出现的还有个UTF-7 XSS的漏洞,简单来说UTF-7XSS基本条件就是XSS的漏洞代码会在头部返回,浏览器会自动将网页的字符编码解读为UTF-7。从而避过过滤机制。当然这个对于白名单过滤是没有用的。

2 DOM XSS

比如页面中有这么个脚本:

1
<html>
1
2
3
4
5
6
7
8
Hi
<script>
var  pos=document.URL.indexOf( "name=" )+5;
document.write(document.URL.substring(pos,document.URL.length));
</script>
<br>
Welcome to our system
</html>

这里是会将document.url打在页面的,如果name的参数传递<script>alert(1);</script>那么就是一个xss漏洞了。

这种js引发的DOM漏洞其实现在很多浏览器已经能自动修复了。

3 接口

接口返回的数据往往是json或者xml,一般认为返回的数据不会显示在html上面,所以很有可能不会使用诸如htmlspecialchars等特殊字符转义处理,但是往往所有接口都可以将返回的数据输出在浏览器上的。所以对于json和xml的输出也需要注意下。

4 iframe

比如 如何根据iframe内嵌页面调整iframe高宽续篇 中说的,使用iframe来自适应高度,也是可能会出现xss的,而这个xss解决就简单多了。直接使用白名单,将参数直接过滤了

5 管理后台

不要以为管理后台可以草率处理,管理后台正是持久性xss的战场之一。管理后台返回的html参数请使用htmlspecialchars返回,



本文转自轩脉刃博客园博客,原文链接:http://www.cnblogs.com/yjf512/p/3465920.html,如需转载请自行联系原作者

相关文章
|
存储 安全 数据安全/隐私保护
|
4天前
|
存储 JavaScript 前端开发
前端xss攻击——规避innerHtml过滤标签节点及属性
前端xss攻击——规避innerHtml过滤标签节点及属性
46 4
|
4天前
|
JavaScript 安全 前端开发
js开发:请解释什么是XSS攻击和CSRF攻击,并说明如何防范这些攻击。
XSS和CSRF是两种常见的Web安全威胁。XSS攻击通过注入恶意脚本盗取用户信息或控制账户,防范措施包括输入验证、内容编码、HTTPOnly Cookie和CSP。CSRF攻击则诱使用户执行未经授权操作,防范手段有CSRF Tokens、双重验证、Referer检查和SameSite Cookie属性。开发者应采取这些防御措施并定期进行安全审计以增强应用安全性。
26 0
|
4天前
|
存储 JSON 前端开发
【面试题】XSS攻击是什么?
【面试题】XSS攻击是什么?
|
4天前
|
存储 开发框架 安全
如何处理预防XSS漏洞攻击问题
防止XSS攻击需要从多个方面入手,包括输入验证和过滤、输出编码、设置正确的HTTP头部、使用最新的安全框架和库、定期进行安全审计和漏洞扫描以及培训和意识提升等。只有综合运用这些措施,才能有效地防止XSS攻击,保护网站和用户的安全。
|
4天前
|
缓存 安全 JavaScript
前端安全:Vue应用中防范XSS和CSRF攻击
【4月更文挑战第23天】本文探讨了在Vue应用中防范XSS和CSRF攻击的重要性。XSS攻击通过注入恶意脚本威胁用户数据,而CSRF则利用用户身份发起非授权请求。防范措施包括:对输入内容转义、使用CSP、选择安全的库;采用Anti-CSRF令牌、同源策略和POST请求对抗CSRF;并实施代码审查、更新依赖及教育团队成员。通过这些实践,可提升Vue应用的安全性,抵御潜在攻击。
|
4天前
|
安全 JavaScript Go
【Web】什么是 XSS 攻击,如何避免?
【Web】什么是 XSS 攻击,如何避免?
|
1天前
|
安全
OWASP ESAPI 预防XSS跨站脚本攻击_xss攻击引入esapi(1)
OWASP ESAPI 预防XSS跨站脚本攻击_xss攻击引入esapi(1)
|
4天前
|
存储 安全 JavaScript
【PHP开发专栏】PHP跨站脚本攻击(XSS)防范
【4月更文挑战第30天】本文探讨了Web开发中的XSS攻击,解释了其原理和分类,包括存储型、反射型和DOM型XSS。XSS攻击可能导致数据泄露、会话劫持、网站破坏、钓鱼攻击和DDoS攻击。防范措施包括输入验证、输出编码、使用HTTP头部、定期更新及使用安全框架。PHP开发者应重视XSS防护,确保应用安全。
|
4天前
|
存储 安全 JavaScript
XSS攻击是什么?它有哪些类型?
防御XSS攻击的方法包括输入验证和过滤、输出编码、使用CSP(Content Security Policy)、避免直接操作DOM等。开发人员应当谨慎处理用户输入,不信任的输入应该被过滤或编码,以确保不会被当做脚本执行。此外,定期进行安全审计和漏洞扫描也是防御XSS攻击的重要步骤。
17 0