原文: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漏洞原理的更多相关文章

  1. 基于DOM的XSS注入漏洞简单解析

    基于DOM的XSS注入漏洞简单解析http://automationqa.com/forum.php?mod=viewthread&tid=2956&fromuid=21

  2. XSS 漏洞原理及防御方法

    XSS跨站脚本攻击:两种情况.一种通过外部输入然后直接在浏览器端触发,即反射型XSS:还有一种则是先把利用代码保存在数据库或文件中,当web程序读取利用代码并输出在页面上时触发漏洞,即存储型XSS.D ...

  3. Xss漏洞原理分析及简单的讲解

    感觉百度百科 针对XSS的讲解,挺不错的,转载一下~   XSS攻击全称跨站脚本攻击,是为不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆,故将跨站脚本攻击缩写为XS ...

  4. XSS漏洞原理

    注入型漏洞的本质都是服务端分不清用户输入的内容是数据还是指令代码,从而造成用户输入恶意代码传到服务端执行. 00x01js执行 Js是浏览器执行的前端语言,用户在存在xss漏洞的站点url后者能输入数 ...

  5. Struts网站基于Filter的XSS漏洞修复

    下面的代码只支持struts2框架中的xss漏洞 第一步,创建过滤器XssFilter : package com.ulic.ulcif.filter; import java.io.IOExcept ...

  6. 使用Fiddler的X5S插件查找XSS漏洞

    OWASP top 10的安全威胁中的CrossSite Scripting(跨站脚本攻击),允许攻击者通过浏览器往网站注入恶意脚本.这种漏洞经常出现在web应用中需要用户输入的地方,如果网站有XSS ...

  7. 快速找出网站中可能存在的XSS漏洞实践

    笔者写了一些XSS漏洞的挖掘过程记录下来,方便自己也方便他人. 一.背景 在本篇文章当中会一permeate生态测试系统为例,笔者此前写过一篇文章当中笔者已经讲解如何安装permeate渗透测试系统, ...

  8. 快速找出网站中可能存在的XSS漏洞实践(一)

    一.背景 笔者最近在慕课录制了一套XSS跨站漏洞 加强Web安全视频教程,课程当中有讲到XSS的挖掘方式,所以在录制课程之前需要做大量实践案例,最近视频已经录制完成,准备将这些XSS漏洞的挖掘过程记录 ...

  9. [前端web安全]XSS漏洞基础入门

    前言 XSS漏洞 Xss(Cross-Site Scripting)意为跨站脚本攻击,为了不和层叠样式表(Cascading Style Sheets,CSS)的缩写混淆,故将跨站脚本攻击缩写为XSS ...

随机推荐

  1. Linux 多线程可重入函数

    Reentrant和Thread-safe 在单线程程序中,整个程序都是顺序执行的,一个函数在同一时刻只能被一个函数调用,但在多线程中,由于并发性,一个函数可能同时被多个函数调用,此时这个函数就成了临 ...

  2. WPF DEV控件-ChartControl用法

    WPF常用的第三方控件集,DevExpress 下面介绍如何生成Chart界面: <dxc:ChartControl AnimationMode="OnDataChanged" ...

  3. Mysql慢查询和慢查询日志分析

     Mysql慢查询和慢查询日志分析   众所周知,大访问量的情况下,可添加节点或改变架构可有效的缓解数据库压力,不过一切的原点,都是从单台mysql开始的.下面总结一些使用过或者研究过的经验,从配置以 ...

  4. Oracle数据库穿越防火墙访问

    原因 Oracle listener 只起一个中介作用,当客户连接它时,它根据配置寻找到相应的数据库实例进程,然后spawned一个新的数据库连接,这个连接端口由listener传递给客户机,此后客户 ...

  5. spring项目部署到resin4中的无法注入问题

    碰到个奇葩事啊,一个spring的项目拿到客户现场部署到resin4中,启动后各种报无法注入bean,找不到bean的问题.出现大量下图的错误: nested exception is org.spr ...

  6. Nginx manifest 实现 HTML5 Application Cache

    什么是Application Cache HTML5引入了应用程序缓存技术,意味着web应用可进行缓存,并在没有网络的情况下使用,通过创建cache manifest文件,可以轻松的创建离线应用. A ...

  7. ANSI Common Lisp Practice - My Answers - Chatper - 2

    I work out the questions by myself Chapter 2 question 4. (defun greater (x y) (if (> x y) x y ) ) ...

  8. 前端之css

    前端之css 本节内容 css概述及引入 css选择器 css常用属性 1.css概述及引入 CSS概述 CSS是Cascading Style Sheets的简称,中文称为层叠样式表,用来控制网页数 ...

  9. vuejs的动态过滤

    想要通过vuejs动态过滤(这里动态指得是过滤的条件是动态变化的), 一直没找到好办法, 最蠢的办法当然是两个两个数组,一个作为原始副本数组 一个作为视图数组,这样当过滤条件变化的时候 动态拷贝原始数 ...

  10. Lrc2Srt字幕转换精灵

    最近喜欢下点英文的MV,可字幕太少了,可lrc文件却很丰富,写了一个转换精灵 下载地址:http://files.cnblogs.com/files/rovedog/Lrc2Srt.zip 需要.ne ...