基于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 ...
随机推荐
- iteye上总结的编程精华资源
原文:http://www.iteye.com/magazines/130 博客是记录学习历程.分享经验的最佳平台,多年以来,各路技术大牛在ITeye网站上产生了大量优质的技术文章,并将系列文章集结成 ...
- Postgresql扩展及UUID
切换数据库 \connect $DBNAME 查看Postgresql的可用扩展 SELECT * FROM pg_available_extensions; 安装所需扩展 CREATE EXTENS ...
- 一致性算法RAFT详解
原帖地址:http://www.solinx.co/archives/415?utm_source=tuicool&utm_medium=referral一致性算法Raft详解背景 熟悉或了解 ...
- 阅读Real-Time O(1) Bilateral Filtering 一文的相关感受。
研究双边滤波有很长一段时间了,最近看了一篇Real-Time O(1) Bilateral Filtering的论文,标题很吸引人,就研读了一番,经过几天的攻读,基本已理解其思想,现将这一过程做一简单 ...
- C#学习笔记-输入数据判断(int、double、string)
代码: using System; using System.Windows.Forms; namespace CheckInput { public partial class Form1 : Fo ...
- What is a RaycastHit normal?
The normal is the direction pointing away from the collider it hits. http://answers.unity3d.com/ques ...
- 使用spring方式来实现aop编程
1:什么是aop? Aspect Oriented Programming 面向切面编程 在软件业,AOP为Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译 ...
- Spring框架总结
Spring(由Rod Johnson创建的一个开源框架) Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson创建.简单来说,Spr ...
- 面试中关于Java你所需知道的的一切
本篇文章会对面试中常遇到的Java技术点进行全面深入的总结,帮助我们在面试中更加得心应手,不参加面试的同学也能够借此机会梳理一下自己的知识体系,进行查漏补缺. 1. Java中的原始数据类型都有哪些, ...
- 使用startActivityForResult场景模拟
效果图如下,当我从第一个界面选择供应商的时候,我希望能得到第二个界面选择的供应商的值: 具体代码,这里第二个参数为自定义的大于等于0的数字,用来标记当前跳转. Intent i1 = new Inte ...