layout: post
title: 4. 有意思的xss之组合参数bypass
category: SRC
tags: SRC
keywords: SRC,XSS
前言
该篇记录为记录实际的src过程第4篇小文章,内容为某网站的xssbypass。
XSS特征
存在多个输入点,其中有三个参数没有过滤<>
,进行xss bypass
,发现:
任意一个参数都过滤了<script>,<iframe>,<input>,<a href>,
等,进行bypass都失败了,这时候就想着组合bypass,因为在观察waf
过程中发现只要以<>
闭合,就几乎不可能,就连style
也过滤了。
组合bypass
输入的点:a=1&b=1&c=1
,
输出的点:{"a":"1","b":"1","c":"1"}
如果我们构成a=<svg&b=>
,则最后输出:{"a":"<svg","b":">","c":"1"}
可以注意到已经闭合了<svg>
了,那么我们来思考怎么利用。
a=<svg onload=xx&b=>
这样的方式会被waf,但是如果我们这样,a=<svg &b=onload=xx>
是可以保留on属性的,那最后会输出,那中间有脏数据,实际上还是执行不了,这时候就会想着把脏数据放到属性里面当作str就行了,这样做a=<svg value='&b=' onload=xx>
,那么最后就会得到{"a":"<svg value='","b":"' onload=alert(1)>","c":"1"}
,因为对于waf而言,识别不出这种差异性,最后成功bypass