基于dom的xss漏洞原理
原文:http://www.anying.org/thread-36-1-1.html转载必须注明原文地址
最近看到网络上很多人都在说XSS我就借着暗影这个平台发表下自己对这一块的一些认识。
其实对于XSS很多人都知道利用但是很多人都忽略了漏洞存在的原因,其实说白了基于dom中的XSS都是一些api代码审计不严所产生的,那么一下我就整理下可能存在基于dom的XSS攻击的api吧。
document.location
document.URL
document.URLUnencoded
document.referrer
window.location
这些API可访问通过一个专门设计的url控制dom的数据,所以我们大部分用到的都是这些,其实这种dom的XSS弹窗可利用和危害性并不是很大,大多用于钓鱼什么的,也就是用户不主动点击你的URL你是没有什么办法的。
在代码中追中相关数据,确定应用程序对她执行何种操作,如果数据被提交给以下的API的时候,那么应用程序就可能受到xss。其实这些API主要是用在表单劫持,在用户提交表单时在其中插入一段xss代码那么这产生了我们所说的存储型的XSS,漏洞存在危险系数比较高,很多被用于cookie的盗取,交易表单劫持,很多黑产行业对于购物站常常采用这种方式劫持订单,给自己盈利。
document.write()
document.writeln()
document.boby.innerHtml
eval()
window.execScript()
window.setInterval()
window.setTimeout()
其次就是基于dom的XSS还有一些会被重定向攻击,重定向攻击的话危害性可大可小不过个人感觉这种XSS的方式在很多地方很容易被人忽略,前段时间提交了2个URL重定向的漏洞给新浪,可是新浪不怎么在乎,我也不好说什么不过危害对于新浪这种站来说有多大我相信有经验的人都会知道的。
document.location
document.URL
document.open()
window.location.href
window.navigate()
window.open
以上就是我整理的一些基于dom的xss攻击漏洞的api,我觉得这些东西罗列出来后能给大家代码审计的时候一些帮助,最少知道xss漏洞常常出现的一些地方,对于这些api调用的时候应该要给出相对应的安全防护措施。
然后对于XSS这种攻击方式很多人都感觉防御起来不知道怎么办,其实很简单,在用户提交数据的时候判断get和post中是否存在<>’”/这五种符号,基本上屏蔽了这五种符号那么XSS威胁能力估计会降低很多。
文章牵涉到的技术内容不多,主要是个人的一些经验和书中看到的一些知识,整理一下之后发表出来希望对大家有用。
基于dom的xss漏洞原理的更多相关文章
- 基于DOM的XSS注入漏洞简单解析
基于DOM的XSS注入漏洞简单解析http://automationqa.com/forum.php?mod=viewthread&tid=2956&fromuid=21
- XSS 漏洞原理及防御方法
XSS跨站脚本攻击:两种情况.一种通过外部输入然后直接在浏览器端触发,即反射型XSS:还有一种则是先把利用代码保存在数据库或文件中,当web程序读取利用代码并输出在页面上时触发漏洞,即存储型XSS.D ...
- Xss漏洞原理分析及简单的讲解
感觉百度百科 针对XSS的讲解,挺不错的,转载一下~ XSS攻击全称跨站脚本攻击,是为不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆,故将跨站脚本攻击缩写为XS ...
- XSS漏洞原理
注入型漏洞的本质都是服务端分不清用户输入的内容是数据还是指令代码,从而造成用户输入恶意代码传到服务端执行. 00x01js执行 Js是浏览器执行的前端语言,用户在存在xss漏洞的站点url后者能输入数 ...
- Struts网站基于Filter的XSS漏洞修复
下面的代码只支持struts2框架中的xss漏洞 第一步,创建过滤器XssFilter : package com.ulic.ulcif.filter; import java.io.IOExcept ...
- 使用Fiddler的X5S插件查找XSS漏洞
OWASP top 10的安全威胁中的CrossSite Scripting(跨站脚本攻击),允许攻击者通过浏览器往网站注入恶意脚本.这种漏洞经常出现在web应用中需要用户输入的地方,如果网站有XSS ...
- 快速找出网站中可能存在的XSS漏洞实践
笔者写了一些XSS漏洞的挖掘过程记录下来,方便自己也方便他人. 一.背景 在本篇文章当中会一permeate生态测试系统为例,笔者此前写过一篇文章当中笔者已经讲解如何安装permeate渗透测试系统, ...
- 快速找出网站中可能存在的XSS漏洞实践(一)
一.背景 笔者最近在慕课录制了一套XSS跨站漏洞 加强Web安全视频教程,课程当中有讲到XSS的挖掘方式,所以在录制课程之前需要做大量实践案例,最近视频已经录制完成,准备将这些XSS漏洞的挖掘过程记录 ...
- [前端web安全]XSS漏洞基础入门
前言 XSS漏洞 Xss(Cross-Site Scripting)意为跨站脚本攻击,为了不和层叠样式表(Cascading Style Sheets,CSS)的缩写混淆,故将跨站脚本攻击缩写为XSS ...
随机推荐
- form表单取消按钮自动提交
默认写在form表单里的按钮可以自动提交表单,现在要实现的效果是点击button按钮调用js函数,再有ajax提交 <button type="button" class=& ...
- javamail中的 javax.mail.AuthenticationFailedException: failed to connect
java.lang.RuntimeException: javax.mail.AuthenticationFailedException: failed to connect javax.mail.A ...
- segments&cache
Segments 执行效果 命令 在 sense 里边执行 GET /abcd/_segments 前边的是索引名称,后边是请求 段信息 说明 索引是面向分片的,是由于索引是由一个或多个分片( ...
- QuickHit项目(输出字符串游戏)
public class leve { private int leveNo; private int strLength; private int strTimes; private int tim ...
- BZOJ 3524: [Poi2014]Couriers [主席树]
3524: [Poi2014]Couriers Time Limit: 20 Sec Memory Limit: 256 MBSubmit: 1892 Solved: 683[Submit][St ...
- Mysql 存储引擎 InnoDB与Myisam的主要区别
MySQL默认采用的是MyISAM. 1,事务处理 innodb 支持事务功能,myisam 不支持. Myisam 的执行速度更快,性能更好. MyISAM不支持事务,而InnoDB支持.InnoD ...
- WPScan用法
kali下集成的WPScan用法 1.刺探基础信息:wpscan --url http://www.example.com 2.猜解后台用户名wpscan --url http://www.examp ...
- 提高Axure设计效率的10条建议
http://www.woshipm.com/ucd/92153.html Axure 是创建软件原型的快速有力的工具.上手很容易,但是,其中存在一个危险.这款软件是如此的直观以至于很多用户可以在没有 ...
- C#.NET 大型企业信息化系统集成快速开发平台 4.2 版本 - 防止暴力破解密码、提高大型信息系统安全
几十万人使用的系统.覆盖全国.每天营业额上好几个亿的.若信息安全方面太薄弱了.那将会是致命的打击.甚至威胁到企业的正常运转.从国家层面到企业级别大家都在重视信息的安全.可控. 运行速度慢一点点可以忍受 ...
- C#.NET 大型通用信息化系统集成快速开发平台 4.1 版本 - 大数据支持分表优化
公司的短信平台,数据量越来越大了,需要对数据进行一些优化,下面是拆分后的数据库量参考. 新开发的软件模块,必须支持分表,拆表的功能一个数据表里,不适合保存1000万以上的记录新开发的业务模块,能分表的 ...