5.1 KiB
Unicode Injection
{% hint style="success" %}
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Support HackTricks
- Check the subscription plans!
- Join the 💬 Discord group or the telegram group or follow us on Twitter 🐦 @hacktricks_live.
- Share hacking tricks by submitting PRs to the HackTricks and HackTricks Cloud github repos.
Introduction
Kulingana na jinsi back-end/front-end inavyofanya kazi wakati in pata wahusika wa unicode wa ajabu, mshambuliaji anaweza kupita ulinzi na kuingiza wahusika wa kiholela ambao wanaweza kutumika kudhulumu udhaifu wa kuingiza kama XSS au SQLi.
Unicode Normalization
Unicode normalization inatokea wakati wahusika wa unicode wanapohaririwa kuwa wahusika wa ascii.
Moja ya hali ya kawaida ya aina hii ya udhaifu inatokea wakati mfumo unafanya mabadiliko kwa namna fulani kwenye ingizo la mtumiaji baada ya kulikagua. Kwa mfano, katika lugha zingine, simu rahisi ya kufanya ingizo kuwa kubwa au dogo inaweza kuhariri ingizo lililotolewa na unicode itabadilishwa kuwa ASCII ikizalisha wahusika wapya.
Kwa maelezo zaidi angalia:
{% content-ref url="unicode-normalization.md" %} unicode-normalization.md {% endcontent-ref %}
\u
to %
Wahusika wa unicode mara nyingi huwakilishwa na \u
prefix. Kwa mfano, wahusika 㱋
ni \u3c4b
(angalia hapa). Ikiwa back-end inabadilisha prefix \u
kuwa %
, string inayotokana itakuwa %3c4b
, ambayo imefutwa URL ni: <4b
. Na, kama unavyoona, wahusika <
wanaingizwa.
Unaweza kutumia mbinu hii ku ingiza aina yoyote ya wahusika ikiwa back-end ina udhaifu.
Angalia https://unicode-explorer.com/ kupata wahusika unahitaji.
Udhaifu huu kwa kweli unatokana na udhaifu ambao mtafiti alipata, kwa maelezo zaidi angalia https://www.youtube.com/watch?v=aUsAHb0E7Cg
Emoji Injection
Back-ends fulani hufanya kazi kwa njia ya ajabu wanap pokea emojis. Hivyo ndivyo ilivyotokea katika hii ripoti ambapo mtafiti alifanikiwa kupata XSS kwa payload kama: 💋img src=x onerror=alert(document.domain)//💛
Katika kesi hii, kosa lilikuwa kwamba server baada ya kuondoa wahusika wabaya ilibadilisha string ya UTF-8 kutoka Windows-1252 hadi UTF-8 (kimsingi uandishi wa ingizo na kubadilisha kutoka uandishi vilikuwa tofauti). Kisha hii haisababishi < sahihi bali unicode ya ajabu: ‹
``Hivyo walichukua matokeo haya na kugeuza tena sasa kutoka UTF-8 hadi ASCII. Hii ilihariri ‹
kuwa <
hii ndiyo jinsi exploit ilivyoweza kufanya kazi kwenye mfumo huo.
Hii ndiyo ilivyotokea:
<?php
$str = isset($_GET["str"]) ? htmlspecialchars($_GET["str"]) : "";
$str = iconv("Windows-1252", "UTF-8", $str);
$str = iconv("UTF-8", "ASCII//TRANSLIT", $str);
echo "String: " . $str;
Emoji orodha:
- https://github.com/iorch/jakaton_feminicidios/blob/master/data/emojis.csv
- https://unicode.org/emoji/charts-14.0/full-emoji-list.html
{% hint style="success" %}
Jifunze & fanya mazoezi ya AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Jifunze & fanya mazoezi ya GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Support HackTricks
- Angalia mpango wa usajili!
- Jiunge na 💬 kikundi cha Discord au kikundi cha telegram au fuata sisi kwenye Twitter 🐦 @hacktricks_live.
- Shiriki mbinu za hacking kwa kuwasilisha PRs kwa HackTricks na HackTricks Cloud github repos.