# Unicode Injection
{% hint style="success" %}
学习和实践 AWS 黑客技术:[**HackTricks 培训 AWS 红队专家 (ARTE)**](https://training.hacktricks.xyz/courses/arte)\
学习和实践 GCP 黑客技术:[**HackTricks 培训 GCP 红队专家 (GRTE)**](https://training.hacktricks.xyz/courses/grte)
支持 HackTricks
* 查看 [**订阅计划**](https://github.com/sponsors/carlospolop)!
* **加入** 💬 [**Discord 群组**](https://discord.gg/hRep4RUj7f) 或 [**Telegram 群组**](https://t.me/peass) 或 **关注** 我们的 **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **通过向** [**HackTricks**](https://github.com/carlospolop/hacktricks) 和 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub 仓库提交 PR 分享黑客技巧。
{% endhint %}
## 介绍
根据后端/前端在 **接收奇怪的 unicode 字符** 时的行为,攻击者可能能够 **绕过保护并注入任意字符**,这些字符可能被用于 **利用注入漏洞**,例如 XSS 或 SQLi。
## Unicode 规范化
Unicode 规范化发生在 **unicode 字符被规范化为 ascii 字符** 时。
这种类型漏洞的一个常见场景发生在系统 **以某种方式修改** 用户的 **输入** **在检查之后**。例如,在某些语言中,简单调用将 **输入转换为大写或小写** 可能会规范化给定的输入,**unicode 将被转换为 ASCII**,生成新字符。\
有关更多信息,请查看:
{% content-ref url="unicode-normalization.md" %}
[unicode-normalization.md](unicode-normalization.md)
{% endcontent-ref %}
## `\u` 到 `%`
Unicode 字符通常用 **`\u` 前缀** 表示。例如字符 `㱋` 是 `\u3c4b`([在这里查看](https://unicode-explorer.com/c/3c4B))。如果后端 **将** 前缀 **`\u` 转换为 `%`**,结果字符串将是 `%3c4b`,URL 解码后为:**`<4b`**。如你所见,**`<` 字符被注入**。\
如果后端存在漏洞,你可以使用此技术 **注入任何类型的字符**。\
查看 [https://unicode-explorer.com/](https://unicode-explorer.com/) 找到你需要的字符。
这个漏洞实际上源于一位研究人员发现的漏洞,想要更深入的解释请查看 [https://www.youtube.com/watch?v=aUsAHb0E7Cg](https://www.youtube.com/watch?v=aUsAHb0E7Cg)
## Emoji 注入
后端在 **接收表情符号** 时表现得很奇怪。这在 [**这篇文章**](https://medium.com/@fpatrik/how-i-found-an-xss-vulnerability-via-using-emojis-7ad72de49209) 中发生,研究人员成功利用一个有效载荷实现了 XSS,例如:`💋img src=x onerror=alert(document.domain)//💛`
在这种情况下,错误在于服务器在删除恶意字符后 **将 UTF-8 字符串从 Windows-1252 转换为 UTF-8**(基本上输入编码和转换编码不匹配)。然后这并没有给出一个正确的 <,而是一个奇怪的 unicode 字符:`‹`\
``所以他们将这个输出 **再次从 UTF-8 转换为 ASCII**。这 **规范化** 了 `‹` 为 `<`,这就是该系统上漏洞能够工作的方式。\
发生的事情是:
```php
[**HackTricks 培训 AWS 红队专家 (ARTE)**](https://training.hacktricks.xyz/courses/arte)\
学习和实践 GCP 黑客技术:[**HackTricks 培训 GCP 红队专家 (GRTE)**](https://training.hacktricks.xyz/courses/grte)
支持 HackTricks
* 查看 [**订阅计划**](https://github.com/sponsors/carlospolop)!
* **加入** 💬 [**Discord 群组**](https://discord.gg/hRep4RUj7f) 或 [**Telegram 群组**](https://t.me/peass) 或 **在** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**上关注我们。**
* **通过向** [**HackTricks**](https://github.com/carlospolop/hacktricks) 和 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub 仓库提交 PR 来分享黑客技巧。
{% endhint %}