.. | ||
README.md | ||
unicode-normalization.md |
Unicode Enjeksiyonu
htARTE (HackTricks AWS Kırmızı Takım Uzmanı) ile sıfırdan kahraman olmak için AWS hackleme öğrenin!
HackTricks'i desteklemenin diğer yolları:
- Şirketinizi HackTricks'te reklam vermek veya HackTricks'i PDF olarak indirmek için ABONELİK PLANLARINI kontrol edin!
- Resmi PEASS & HackTricks ürünlerini edinin
- The PEASS Ailesi'ni keşfedin, özel NFT'lerimiz koleksiyonumuz
- 💬 Discord grubuna veya telegram grubuna katılın veya Twitter 🐦 @carlospolopm'u takip edin.
- Hacking hilelerinizi HackTricks ve HackTricks Cloud github reposuna PR göndererek paylaşın.
Giriş
Arka plan/ön uç, garip unicode karakterler alırsa, bir saldırgan, XSS veya SQLi gibi enjeksiyon zafiyetlerini atlatmak ve keyfi karakterler enjekte etmek için kullanılabilecek korumaları geçebilir.
Unicode Normalizasyonu
Unicode normalizasyonu, unicode karakterlerinin ascii karakterlere normalleştirilmesi durumunda gerçekleşir.
Bu tür bir zafiyetin yaygın bir senaryosu, sistem kullanıcının girdisini kontrol ettikten sonra değiştiriyorsa ortaya çıkar. Örneğin, bazı dillerde kullanıcının girdisini büyük veya küçük harf yapmak için yapılan basit bir çağrı, verilen girdiyi normalleştirebilir ve unicode ASCII'ye dönüştürülerek yeni karakterler oluşturulabilir.
Daha fazla bilgi için kontrol edin:
{% content-ref url="unicode-normalization.md" %} unicode-normalization.md {% endcontent-ref %}
\u
to %
Unicode karakterleri genellikle \u
önekiyle temsil edilir. Örneğin, karakter 㱋
\u3c4b
'dir (buradan kontrol edin). Bir arka uç, öneki \u
'yi %
'ye dönüştürürse, elde edilen dize %3c4b
olur ve URL çözümlenmiş hali: <4b
. Ve görebileceğiniz gibi, bir <
karakteri enjekte edilir.
Eğer arka uç savunmasızsa, bu tekniği herhangi bir karakteri enjekte etmek için kullanabilirsiniz.
İhtiyacınız olan karakterleri bulmak için https://unicode-explorer.com/ adresini kontrol edin.
Bu zafiyet aslında bir araştırmacının bulduğu bir zafiyetten kaynaklanır, daha ayrıntılı bir açıklama için https://www.youtube.com/watch?v=aUsAHb0E7Cg adresine bakın.
Emoji Enjeksiyonu
Arka uçlar, emoji alırsa bazen garip davranışlar sergiler. Bu, araştırmacının 💋img src=x onerror=alert(document.domain)//💛
gibi bir payload ile XSS elde etmeyi başardığı bu yazıda yaşandı.
Bu durumda, hatalı olan şey, sunucunun zararlı karakterleri kaldırdıktan sonra UTF-8 dizesini Windows-1252'den UTF-8'e dönüştürmesi idi (temel olarak giriş kodlaması ve dönüşüm kodlaması uyuşmuyordu). Ardından, bu, doğru bir < yerine garip bir unicode karakteri olan ‹
verir.
``Sonra bu çıktıyı UTF-8'den ASCII'ye yeniden dönüştürdüler. Bu, ‹
'yi <
'ye normalleştirdi ve bu sistemdeki saldırının nasıl çalışabileceğidir.
İşte olanlar:
<?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 listeleri:
- https://github.com/iorch/jakaton_feminicidios/blob/master/data/emojis.csv
- https://unicode.org/emoji/charts-14.0/full-emoji-list.html
AWS hackleme konusunda sıfırdan kahramana dönüşmek için htARTE (HackTricks AWS Kırmızı Takım Uzmanı)'ı öğrenin!
HackTricks'i desteklemenin diğer yolları:
- Şirketinizi HackTricks'te reklamınızı görmek veya HackTricks'i PDF olarak indirmek isterseniz, ABONELİK PLANLARINA göz atın!
- Resmi PEASS & HackTricks ürünlerini edinin
- The PEASS Ailesi'ni keşfedin, özel NFT'lerimiz
- 💬 Discord grubuna veya telegram grubuna katılın veya Twitter 🐦 @carlospolopm'ı takip edin.
- Hacking hilelerinizi HackTricks ve HackTricks Cloud github depolarına PR göndererek paylaşın.