Gorizontal kirish nazoratini test qilish
Foydalanuvchi ilovaga kirganda, odatda, faqat o'ziga tegishli funksiyalar va resurslardan foydalana oladi. Agar kirish nazorati (access control) noto'g'ri sozlangan bo'lsa, foydalanuvchi faqat boshqa foydalanuvchilarga ochiq bo'lishi kerak bo'lgan ma'lumot va funksionallikka kira olishi mumkin.
Agar sizda bir xil huquqlarga ega ikki xil hisob uchun ma'lumotlar bo'lsa, ilovaning gorizontal kirish nazoratini sinashingiz mumkin. Turli foydalanuvchilar sifatida kirishni sinash uchun ikkita variantingiz bor:
- Alohida endpointlarni sinash uchun Burp Repeater'dan foydalaning.
- Bir nechta so'rovni avtomatik yuborish uchun Compare site maps funksiyasidan foydalaning.
Quyidagi jarayonlarni bizning Web Security Academy'imizdagi Xavfsiz bo'lmagan deserializatsiyani ekspluatatsiya qilish uchun ilova funksionalligidan foydalanish laboratoriyasida birgalikda bajarib borishingiz mumkin.
Boshlashdan oldin
Bir xil huquqlarga ega ikki xil foydalanuvchi uchun hisob ma'lumotlarini oling. Agar laboratoriyadan foydalanayotgan bo'lsangiz, wiener:peter va gregg:rosebud ma'lumotlaridan foydalanishingiz mumkin.
Aniq bir endpointni sinash
Alohida endpointda tezkor sinov o'tkazish uchun:
- Maqsadli saytga kiring va tizimga login qiling.
- Sinamoqchi bo'lgan funksionallikka murojaat qiling.
- Yangi brauzer oynasida maqsadli saytga bir xil huquqlarga ega ikkinchi hisob ma'lumotlari bilan kiring.
- Proxy > HTTP history bo'limiga o'ting. Birinchi foydalanuvchining autentifikatsiyalangan sessiya cookie'sini o'z ichiga olgan so'rovni o'ng tugma bilan bosing va Send to Repeater ni tanlang.
- Ikkinchi foydalanuvchining eng so'nggi so'rovini toping. So'rovni tanlang va sessiya cookie'sini nusxalang.
- Repeater yorlig'iga o'ting. Ikkinchi foydalanuvchining cookie'sini so'rovga joylashtiring va dastlabki sessiya cookie'sini almashtiring.
- Send tugmasini bosing.
- Gorizontal kirish mumkinligini aniqlash uchun javobni ko'rib chiqing. Misolda hisob tafsilotlari avtomatik yangilanadi. Bu esa siz ikkinchi foydalanuvchining sessiyasidan foydalanib birinchi foydalanuvchining hisob sahifasiga kira olmasligingizni ko'rsatadi.
Butun sayt bo'ylab sinash
Ko'p sonli endpointlarda gorizontal kirish nazoratini sinash ko'p vaqt talab qilishi mumkin. Burp Suite bu jarayonni joriy sayt xaritasidagi barcha so'rovlar bo'ylab avtomatlashtirishga yordam beradi:
- Tizimga kiring va ilovaning xaritasini tuzing.
- Yangi brauzer oynasida maqsadli saytga bir xil huquqlarga ega ikkinchi hisob ma'lumotlari bilan kiring.
- Proxy > HTTP history yorlig'iga o'ting. Ikkinchi foydalanuvchining eng so'nggi so'rovini tanlang va keyinchalik ishlatish uchun sessiya cookie'sini nusxalang.
- Target vositasidan yuborilgan barcha so'rovlarga ikkinchi foydalanuvchining sessiya cookie'sini qo'shadigan sessiyani boshqarish qoidasini yarating:
- Settings oynasidan Sessions > Session handling rules ga o'ting va Add ni bosing. Session handling rule editor ochiladi.
- Scope yorlig'iga o'ting.
- Tools scope ostida Target ni tanlang va boshqa barcha vositalardan belgini olib tashlang.
- URL scope ostida Use custom scope ni tanlang, Add ni bosing, so'ngra nishon saytning URL'ini kiriting.
- Qoidani belgilash uchun Details yorlig'iga o'ting.
- Rule actions ostida Add ni bosing, so'ngra Set a specific cookie or parameter value ni tanlang. Session handling action editor ochiladi.
- Ikkinchi foydalanuvchining sessiya cookie'sini qo'shish uchun quyidagi ma'lumotlarni belgilang. Name: session Value: ikkinchi foydalanuvchining so'rovidan nusxa olgan cookie
- Barcha ochiq oynalarni yopish uchun OK ni bosishda davom eting. Qoida sessiyani boshqarish qoidalari ro'yxatiga qo'shiladi.
- Birinchi foydalanuvchi sifatida tuzgan butun sayt xaritangizni qaytadan so'rang:
- Target > Site map yorlig'iga o'ting, maqsadli hostni o'ng tugma bilan bosing, so'ngra Compare site maps ni tanlang. Compare site maps oynasi ochiladi.
- Use current site map ni tanlang, so'ngra Next tugmasini bosing.
- Use only selected branches ni tanlang.
- Request map 1 again in a different session context ni tanlang.
- Qolgan qadamlarning har biri uchun standart sozlamalarni o'zgartirmang.
- Ikkala sayt xaritasini ko'rib chiqing. Har qanday farqlar ajratib ko'rsatiladi. Bir xil bo'lgan, tizimga kirgan holatdagi so'rovlarni qidiring — bu siz ikkinchi foydalanuvchining sessiyasidan foydalanib birinchi foydalanuvchining hisobiga kirganingizni bildirishi mumkin.
Eslatma
So'rovlarni taqqoslash uchun BApp Store'dagi Autorize kengaytmasidan ham foydalanishingiz mumkin. Bu sizga bitta foydalanuvchi sifatida saytni ko'rib chiqish va o'sha so'rovlarni ikkinchi foydalanuvchi sifatida takrorlash imkonini beradi.