Veb infratuzilmadagi katta xavf: Case sensitivity o‘yini

Veb infratuzilmadagi katta xavf: Case sensitivity o‘yini

May 06, 2026 security dns case-sensitivity web infrastructure authentication best practices domain management

Katta-kichik harf muammosi: Hech kim gapirmaydi

Veb-ilovani yaratayapsiz. Development muhitida hammasi a'lo. Staging server mukammal ishlaydi. Ammo productionda noma'lum xatolar chiqadi. Yoki xavfsizlik mutaxassislari kutilmagan zaifliklarni topadi.

Ko'pincha sabab kod xatosi emas. Validatsiya yo'qligi ham emas. Bu katta-kichik harf farqidan kelib chiqadi. Tizimingiz harflarni noto'g'ri talqin qiladi.

Nega katta-kichik harf muhim?

Domain nomlari katta-kichik harfga sezgir emas. example.com ham, EXAMPLE.COM ham bir xil. Oddiy, to'g'rimi?

Lekin quyidagilarni o'ylab ko'ring:

  • Auth tizimidagi email manzillar?
  • Bazadagi user ID lar?
  • Cloud storagedagi fayl yo'llari?
  • API endpointlar?
  • SSL sertifikat tekshiruvi?

Agar infratuzilma qismlari harflarni bir xil qilib o'zgartirmasa, hujum yo'li ochiladi.

Haqiqiy hujum misoli

Ilova email bo'yicha foydalanuvchilarni tekshiradi. Bazada email lar kichik harfda saqlanadi. Yaxshi amaliyot. Lekin OAuth provayderi John.Smith@gmail.com shaklida qaytaradi.

Hujumchi john.smith@gmail.com bilan ro'yxatdan o'tadi. Keyin John.Smith@gmail.com ni sinab ko'radi. Agar harf qoidalari bir xil bo'lmasa:

  • Rate limiting o'tkazib yuboradi (boshqa user sifatida)
  • Ikki hisob ochadi, huquqlari oshadi
  • Audit loglarni aldab o'tadi
  • Ruxsatsiz resurslarga kiradi

Bu yanada xavfli holatlar:

IDN (xalqaro domainlar) – Unicode qoidalari tilga qarab farq qiladi. Turkcha 'i' harfi muammo chiqaradi. Ba'zi belgilarda katta harf yo'q.

Cloud storage – AWS S3 da object keylar sezgir, bucket nomlari emas. Aralashsa ma'lumot oqishi yoki huquq oshishi bo'ladi.

DNS recordlar – DNS so'rovlari sezgir emas, lekin ilova tekshiruvi bo'lishi mumkin. Wildcard sertifikatlar va CNAME zaif nuqta.

Infratuzilmangizni qanday himoya qilish

1. Normallash qoidalarini belgilang

Ilova darajasida qoida qo'ying, baza emas. Kiruvchi ma'lumotlarni darhol kichik harfga o'tkazing.

# To'g'ri: Chegarada normallashtirish
def normalize_email(email):
    return email.lower().strip()

def authenticate_user(email):
    normalized = normalize_email(email)
    user = User.query.filter_by(email=normalized).first()
    return user

2. Unicode kutubxonalardan foydalaning

Xalqaro kontent uchun o'zingiz yozmang. Tayyor kutubxonalarni ishlating:

  • Python: unicodedata
  • JavaScript: String.localeCompare()
  • Go: strings paketi Unicode bilan

3. Tizimlar bo'yicha sinab ko'ring

Ilova yolg'iz emas. Harf qoidalarini quyidagilarda tekshiring:

  • DNS provayder API
  • SSL sertifikat beruvchi
  • OAuth provayderlar
  • Cloud storage
  • CDN qoidalari

Har birini yozib oling, bir xil qiling.

4. Qattiq input validatsiyasi qo'ying

Tashqi tizimlar bir xil ishlaydi deb o'ylamang. Har integratsiyada normallashtiring.

// Tashqi API chaqirishdan oldin
const normalizeForAPI = (input, format = 'lowercase') => {
  const normalized = format === 'lowercase' 
    ? String(input).toLowerCase() 
    : String(input);
  return normalized.trim();
};

5. Harf farqlarini log qiling

Shubhali o'zgarishlarga ogohlantirish qo'ying:

def detect_case_variance(email):
    normalized = email.lower()
    if email != normalized:
        logger.warning(f"Harf farqi: {email} vs {normalized}")
        # Hujum izini tekshiring

6. NameOcean amaliyotlaridan foydalaning

NameOcean orqali domain ro'yxatdan o'tkazganda yoki DNS sozlaganda:

  • Kodda domainlarni faqat kichik harfda yozing
  • DNS recordlarni bir xil qiling
  • API ning sezgir bo'lmagan xususiyatlarini ishonchli ishlating
  • IaC da harf strategiyasini yozing

Asosiy saboq

Xavfsizlik faqat parol va HTTPS emas. Butun ekotizim ma'lumotni qanday qayta ishlaydi, shuni biling. Harf farqi auth, storage va API da kaskad muammo chiqaradi.

Erta topgan dasturchilar:

  1. Taxmin qilmang – Tizimlar ma'lumotni qanday normallashtirishini bilmang
  2. Chegara holatlarni sinang – Harf o'zgarishlari xavfsizlik testida bo'lsin
  3. Harakatni yozing – Har tizimning harf qoidasini belgilang
  4. Bir xil normallashtiring – Standart tanlang, hamma joyda qo'llang

Kelajakdagi mutaxassislar (yoki hujumchilar) rahmat aytadi.

Read in other languages:

RU BG EL CS TR SV FI RO PT PL NB NL HU IT FR ES DE DA ZH-HANS EN