Unicode Injection
Reading time: 3 minutes
tip
Jifunze na fanya mazoezi ya AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Jifunze na 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 tufuatilie kwenye Twitter 🐦 @hacktricks_live.
- Shiriki mbinu za udukuzi kwa kuwasilisha PRs kwa HackTricks na HackTricks Cloud repos za github.
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 kawaida 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 litabadilishwa kuwa ASCII na kuunda wahusika wapya.
Kwa maelezo zaidi angalia:
{{#ref}} unicode-normalization.md {{#endref}}
\u
to %
Wahusika wa unicode kwa kawaida huwakilishwa na \u
prefix. Kwa mfano, wahusika 㱋
ni \u3c4b
(angalia hapa). Ikiwa back-end inabadilisha prefix \u
kuwa %
, string inayotokana itakuwa %3c4b
, ambayo URL decoded ni: <4b
. Na, kama unavyoona, wahusika <
umeingizwa.
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 ya kina angalia https://www.youtube.com/watch?v=aUsAHb0E7Cg
Emoji Injection
Back-ends fulani zinafanya kazi kwa njia ya ajabu wanap pata emojis. Hivyo ndivyo ilivyotokea katika hii andiko ambapo mtafiti alifanikiwa kupata XSS kwa payload kama: 💋img src=x onerror=alert(document.domain)//💛
Katika kesi hii, kosa lilikuwa kwamba seva 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 wakabadilisha 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;
Orodha za Emoji:
- https://github.com/iorch/jakaton_feminicidios/blob/master/data/emojis.csv
- https://unicode.org/emoji/charts-14.0/full-emoji-list.html
tip
Jifunze na fanya mazoezi ya AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Jifunze na 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 tufuatilie kwenye Twitter 🐦 @hacktricks_live.
- Shiriki mbinu za udukuzi kwa kuwasilisha PRs kwa HackTricks na HackTricks Cloud repos za github.