← Veb ilovalar xavfsizligi
MODUL 07 / DARS 02

XSS va kontekstga mos escaping

Ishonchsiz matnni HTML sifatida talqin qildirmang.

45 daqiqa Python 3

XSS qanday paydo bo‘ladi?

Ishonchsiz ma’lumot brauzerda faol HTML/JavaScript sifatida talqin qilinsa, foydalanuvchi sessiyasi doirasida amal bajarilishi mumkin. Stored, reflected va DOM yo‘llari bor. Muammo faqat script tegida emas; atribut va URL kontekstlari ham muhim.

Matnni matn sifatida chiqaring

Django template autoescape’ni saqlang. Oddiy DOM matni uchun textContent, HTML uchun esa zarur bo‘lsa ishonchli sanitizer ishlating. safe yoki mark_safe’ni mijoz ma’lumotiga qo‘llamang. HTML escaping JavaScript yoki CSS kontekstiga avtomatik mos kelmaydi.

Qatlamli himoya

CSP ta’sirni kamaytirishga yordam beradi, lekin to‘g‘ri rendering o‘rnini bosmaydi. HttpOnly cookie o‘qilishini cheklaydi, ammo zararli kod foydalanuvchi nomidan so‘rov yuborishi mumkin. Misolda oddiy b tegi xavfsiz matnga aylanadi, hech qanday brauzer hujumi bajarilmaydi.

Python’da ko‘rib chiqamiz

from html import escape
untrusted = "<b>salom</b>"
print(escape(untrusted))

Misolni

Mustaqil mashq

Qo‘shtirnoq va ampersand bor satrni escape qiling. Django’da normal chiqish va noto‘g‘ri safe ishlatilishining farqini konspektga yozing. Haqiqiy foydalanuvchiga payload yubormang.

Chuqurroq o‘rganing

Rasmiy hujjatni ochish ↗
O‘QING → O‘ZGARTIRING → SINANG

Python ish maydoni

.py

Kod brauzeringizda Web Worker orqali bajariladi. Serverga yuborilmaydi. Standart kutubxona bilan ishlang; lokal shell va host fayllari mavjud emas.

● ● ●xss-escaping.pyPython 3.14
Muhit ishga tushirishda yuklanadi
NATIJA
Kod natijasi shu yerda ko‘rinadi.
JAVOBI TEKSHIRILADIGAN TOPSHIRIQ

Natijani tahlil qiling

Escape qilingan natijani to‘liq kiriting.

Yordamchi ishora

Burchak qavslar entity’ga aylanadi.

Python misolini hisobsiz ham bajara olasiz. Javobni tekshirish va natijani saqlash uchun hisobga kiring.

Hisobga kirish

Bu tekshiruv javob mosligini baholaydi. Mustaqil mashq va loyiha sifatini dars mezonlari bilan alohida tekshiring.

BILIMINGIZNI MUSTAHKAMLANG

Dars testi

To‘g‘ri javob bering. Qayta urinish mumkin; eng yaxshi natijangiz saqlanadi.

1. DOM’da oddiy matn uchun qaysi xususiyat to‘g‘ri?
Test uchun hisobga kirish
O‘Z SO‘ZINGIZ BILAN YOZING

Shaxsiy konspekt

Tushunganlaringiz, savollaringiz va keyingi amaliyotingiz. Parol yoki token yozmang.

Konspekt uchun hisobga kirish