Unicode Injection

Unicode injeksiyası, tətbiq unicode simvollarını düzgün idarə etmədikdə və ya bu simvolları şərh edərkən ortaya çıxan bir təhlükəsizlik zəifliyidir. Bu zəiflik, aşağıdakı təhlükəsizlik problemlərinə səbəb ola bilər:

Encoding Bypass: Hücumçu daxiletmənin yoxlanılması və filtrləmə mexanizmlərini bypass etmək üçün Unicode simvollarından istifadə edə bilərlər.

Homoglif Hücumu: Unicode başqalarına bənzər, lakin fərqli kod nöqtələri olan simvollarıdır. Hücumçu bu simvollardan homoqliflər yaratmaq üçün istifadə edə, sistemləri onları fərqli şəkildə emal etmək üçün aldada bilərlər.

Code Injection: Hücumçu Unicode simvollarını manipulyasiya etməklə, proqrama zərərli kod yeritməyə cəhd edə bilər ki, bu da code injection zəifliyinə səbəb ola bilər.

Directory Traversal: Hücumçu fayl və qovluqlara icazəsiz giriş əldə etmək üçün Unicode simvollarından istifadə edərək directory traversal hücumu həyata keçirə bilər.

\u --> %

Unicode simvolları adətən \u prefiksi ilə təmsil olunur. Məsələn, 㱋 simvolu '\u3c4b' dur. Əgər backend \u prefiksini % ə çevirirsə, nəticədə %3c4b olacaq, URL decode forması '<4b' olacaq. Və beləliklə < char injektə edildi. Əgər backenddə belə bir boşluq varsa, bu metoddan istifadə edərək digər simvolları da daxil etmək mümkündür.

Simvolların unicode formaları haqqında öyrənmək üçün bu keçiddən istifadə edin.

Emoji Injection

Backend emoji qəbul etdikdə fərqli davrana bilər. Bu keçiddən istifadə edərək, müəllifin XSS üçün istifadə etdiyi payload'ı görə bilərsiniz. Bu zəifliyi exploit etmək üçün o, emojilərdən istifadə etmişdi.

Bu nümunədə, server zərərli simvolları sildikdən sonra UTF-8 sətirini Windows-1252-dən UTF-8-ə çevirir. Bu zaman o, düzgün < vermir, unicode formasını verir: ‹ . Daha sonra bu çıxışı götürülür və yenidən UTF-8 dən ASCII'ə çevirilir. Beləliklə, < buna normallaşdırılır:

<?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 listini əldə etmək üçün bu keçiddən istifadə edin.

Last updated