[Security]XSS一直是个棘手的问题
为什么80%的码农都做不了架构师?>>>
虽然现在IE10和chrome可以自动过滤掉
<script>alert('XSS')</script>
但是
<!DOCTYPE html><head> <title>Oh!NO!</title> <script type="text/javascript">
//<![CDATA[ var xss = "</script><script>alert('XSS');</script>";
//]]>
</script>
</head>
<body> <p>弹出了XSS框?那就赶紧补漏洞去吧!</p>
</body>
</html>
<!DOCTYPE html><head> <title>Oh!NO!</title> <script type="text/javascript"> var xss = "</script><script>alert('XSS');</script>"; </script>
</head>
<body> <p>弹出了XSS框?那就赶紧补漏洞去吧!</p>
</body>
</html>
防御方法:
1.HttpOnly
httpOnly标签至今已经逐渐成为一个标准,浏览器禁止JS访问带有HttpOnly的Cookie,HttpOnly可以选择性的加载任何一个Cookie值上
response.setHeader("Set-Cookie","cookiename=value; Path=/;Domain=domainvalue;Max-Age=seconds;HTTPOnly");
2、输入检查
处理富文本:采用XSS filter
java:https://www.owasp.org/index.php/Category:OWASP_AntiSamy_Project
php:http://htmlpurifier.org/
3、输出检查
a.安全的编码函数:
输出对象为html时,采用HtmlEncode,HtmlEncode不是专用名词,他只是一种函数实现。他的作用是将字符转换成HTMLEntities,对应的标准是ISO-8859-1
至少需要转换以下字符:
& --> &
< --><
> --> >
" --> "
' --> '
/ --> /
4.防御DOM Based XSS:复合的XSS防御
从$var输出到<script>的时候需要做JavascriptEncode,在输出到html的时候,如果是输出到事件或者脚本,再做一次JavascriptEncode,如果输出到html,做HtmlEncode,即,输出点即为防御点。
cheatsheet for DOM Based XSS:http://code.google.com/p/domxsswiki/
JavascriptEncode:https://www.owasp.org/index.php/Category:OWASP_Enterprise_Security_API
转载于:https://my.oschina.net/tdoly/blog/136632
[Security]XSS一直是个棘手的问题相关推荐
- WARNING: sanitizing HTML stripped some content (see http://g.co/ng/security#xss).
angular4中我用上面的绑定方式去渲染数据的 我本身要渲染的数据结构如下 之后就给我提示WARNING: sanitizing HTML stripped some content (see ht ...
- SpringBoot 安全漏洞之XSS注入攻击(jsoup版本)
1. 跨站点脚本编制 风险:可能会窃取或操纵客户会话和 cookie,它们可能用于模仿合法用户,从而使黑客能够以该用户身份查看或变更用户记录以及执行事务. 原因:未对用户输入正确执行危险字符清 ...
- 深入理解XSS攻击与防御
深入理解XSS攻击与防御 What is XSS XSS攻击的类型 XSS攻击原理 XSS攻击危害 XSS攻击方法 How to defense XSS 防御原则:永远不要相信用户的输入. 防御措施 ...
- ubuntu安装ffmpeg_安装 Jellyfin 开始肥宅生活
先放两张效果图 完美的宅家生活 不就是这样嘛 在 Windows 系统上安装 直接去 官网( https://jellyfin.org/ ) 下载安装包就好,我才懒得讲怎么装( Ubuntu/Debi ...
- 干货|各种WAF绕过手法学习
0X00 Fuzz/爆破 fuzz字典 1.Seclists/Fuzzing https://github.com/danielmiessler/SecLists/tree/master/Fuz ...
- ionic4 背景设置动态图片报错WARNING: sanitizing unsafe style value background-image:url
ionic4 背景设置动态图片报错WARNING: sanitizing unsafe style value background-image:url WARNING: sanitizing uns ...
- Angular:解决innerHTML绑定页面内容,sanitizing HTML stripped some content警告处理和富文本背景色样式无法正常显示的问题
背景:在系统中使用quill富文本编辑器,使用的版本是ngx-quill@4.0.0,具体使用方法参见我的另一篇博客 Angular:ngx-quill富文本编辑器的使用(地址:https://blo ...
- Angular4中使用DomSanitizer
作用 DomSanitizer有助于防止跨站点脚本安全漏洞(XSS),通过清除值以便在不同的DOM上下文中安全使用. 为什么会需要使用DomSanitizer Angular4中默认将所有输入值视为不 ...
- 【项目实战】Spring Cloud Gateway入门介绍 - 网关过滤器工厂
一.全局过滤器GlobalFilter 全局过滤器是针对于网关而言通用的功能组件实现,采用全局来实现. 以下是两个如何全局过滤器GlobalFilter的实例 1.1 实例1:定义ForwardAut ...
最新文章
- if(p == NULL)和 if(NULL == p)区别
- neutron CLI is deprecated and will be removed in the future. Use openstack CLI instead
- Tar打包、压缩与解压缩到指定目录的方法
- 关于使用QQ、新浪微博、腾讯微博等第三方登录网站的开发过程(一)
- JAVA获取项目工程下的文件
- 【JFreeChart】JFreeChart—输出时序图
- 《大数据》2015年第2期“专题”——关于大数据交易核心法律问题 —— 数据所有权的探讨及建议...
- 在Vs.net中集成 NDoc生成的 Html Help 2帮助文档
- 我的世界java版地牢种子_我的世界手机版地牢种子代码汇总
- .desktop 桌面快捷_Ubuntu 桌面手动添加应用快捷方式
- c语言及程序设计基础 pdf,《C语言程序设计基础》.pdf
- 2022,云上开发的新纪元
- 不知道考研各科课程那个老师的课好?怎么选择安排?在哪找课程课本资料?看这里
- showwindow 窗口不弹出_C语言Windows程序设计 - 【第一个属于自己的窗口】!
- Android UI 切图命名规范、标注规范及单位描述
- 介绍一个产品的思维导图_产品运营怎么使用思维导图?四个方面阐释思维导图的运用...
- u9搜索引擎推送破解版
- vue中通过定时器设置倒计时,5秒倒计时
- 织梦PHP版本怎么更新,织梦DedeCMS系统如何打补丁升级
- AxiomSL任命David Weber为首席运营官兼首席财务官以应对快速的全球增长