Unicode Injection
从零开始学习AWS黑客技术,成为专家 htARTE(HackTricks AWS红队专家)!
支持HackTricks的其他方式:
如果您想看到您的公司在HackTricks中做广告或下载PDF格式的HackTricks,请查看订阅计划!
加入 💬 Discord群 或 电报群 或 关注我们的Twitter 🐦 @carlospolopm。
通过向HackTricks和HackTricks Cloud github仓库提交PR来分享您的黑客技巧。
简介
根据后端/前端在接收奇怪的Unicode字符时的行为,攻击者可能能够绕过保护措施并注入任意字符,从而可能被用于滥用注入漏洞,如XSS或SQLi。
Unicode规范化
Unicode规范化发生在将Unicode字符规范化为ASCII字符时。
这种类型漏洞的常见情况是,系统在检查用户输入后以某种方式修改用户的输入。例如,在某些语言中,对输入进行大写或小写处理可能会规范化给定的输入,将Unicode转换为ASCII生成新字符。 更多信息请查看:
Unicode Normalization\u转换为%
\u转换为%Unicode字符通常用**\u前缀表示。例如,字符㱋是\u3c4b(在此处检查)。如果后端将前缀\u转换为%,则结果字符串将为%3c4b,解码后为:<4b。正如您所见,<字符被注入**。
如果后端存在漏洞,您可以使用此技术注入任何类型的字符。
请访问https://unicode-explorer.com/查找您需要的字符。
这个漏洞实际上源自一位研究人员发现的漏洞,有关更详细的解释,请查看https://www.youtube.com/watch?v=aUsAHb0E7Cg
表情符号注入
后端在接收表情符号时有时会表现出奇怪的行为。这就是发生在这篇文章中的情况,研究人员成功通过如下有效负载实现XSS:💋img src=x onerror=alert(document.domain)//💛
在这种情况下,错误在于服务器在删除恶意字符后将UTF-8字符串从Windows-1252转换为UTF-8(基本上是输入编码和转换编码不匹配)。然后这不会给出一个正确的<,而是一个奇怪的Unicode字符:‹
``因此,他们拿到这个输出后再次从UTF-8转换为ASCII。这将将‹规范化为<,这就是该系统上漏洞利用的原理。
这就是发生的情况:
表情符号列表:
从零开始学习AWS黑客技术,成为专家 htARTE(HackTricks AWS红队专家)!
支持HackTricks的其他方式:
如果您想在HackTricks中看到您的公司广告或下载PDF格式的HackTricks,请查看订阅计划!
加入 💬 Discord群组 或 电报群组 或 关注我们的Twitter 🐦 @carlospolopm。
通过向HackTricks和HackTricks Cloud github仓库提交PR来分享您的黑客技巧。
最后更新于