Ryetish проблемы avtorizatsiya muammolari
Avtorizatsiya - muayyan shaxsga yoki shaxslar guruhiga на выполнение muayyan harakatlarni amalga oshirish huquqini berish; shuningdek процесс проверки , ushbu harakatlarni amalga oshirishga urinayotganda ushbu huquqlarni tekshirish (tasdiqlash) jarayoni . [10] ko'pgina veb-ilovalar предоставляют, мягко говоря, ограниченный интерфейс ruxsatsiz foydalanuvchilar uchun cheklangan interfeyslarni yumshoq qilib qo'yish imkonini beradi неавторизованных . Ko'pincha, taqdim etiladi
только одна страница авторизации, с ro'yxatdan o'tish sahifasiga o'tish imkoniyati bilan faqat bitta avtorizatsiya sahifasi перейти на страницу .
Albatta, чтобы обеспечить ilovaning xavfsizligini ta'minlash uchun приложения недостаточно проанализировать только faqat avtorizatsiya sahifasini tahlil qilish etarli emas. Sinov менять ради тестирования логику uchun veb-ilovaning mantig'ini o'zgartirish uchun testning противоречит asosiy tamoyillariga zid keladi, ishlab chiquvchi uchun katta noqulayliklar haqida gapirmaslik kerak. Shunday qilib, нужно предоставить пользователю XSS-Scanner foydalanuvchisiga возможность tizimga kirish imkoniyatini berish kerak в .
Для Buning uchun было решено после открытия brauzer ochilgandan so'ng, foydalanuvchi задержать начала kirish ma'lumotlariga tegishli bayroqni qo'ysa, foydalanuvchi tizimga kirishga ruxsat berish uchun 30 soniya davomida tekshiruv boshlanishini kechiktirishga qaror системе, если пользователь поставит для этого соответствующий флаг во входных qilindi. Lekin bu erda появляется yangi muammo paydo bo'ladi. XSS Scanner bir nechta brauzer oynasida zaiflik uchun ilovaning parallel tahlilini qo'llab-quvvatlaydi . Agar ularning brauzer oynalari soni uchdan вручную логин и пароль ortiq bo'lsa, har bir oyna uchun qo'lda Login va parolni kiritish каждого окна становится qiyin bo'ladi.
Bu muammo ham hal qilindi. Chunki, серверу foydalanuvchini aniqlash uchun server tomonidan talab qilinadigan barcha ma'lumotlar опознания пользователя хранятся в http cookie-da saqlanadi то достаточно скопировать cookie , avtorizatsiya qilingan Foydalanuvchining cookie в -fayllarini boshqa brauzer oynalariga nusxalash kifoya . Selenium WebDriver предоставляет bu imkoniyatni taqdim etadi. В классе WebDriver sinfida ikkita getCookie Cookie() va void setCookie(Cookie) usuli mavjud. Shunday авторизации qilib, foydalanuvchi в bir brauzer oynasida avtorizatsiya qilingandan so'ng браузера, у объекта webDriver, , ushbu oyna uchun mas'ul bo'lgan webDriver ob'ektida sessiya ma'lumotlarini o'z ichiga olgan cookie-fayllarni qaytaradigan getcookie () usulini chaqiramiz содержащие информацию о . Shundan so'ng, вызывавается webDriver deyiladi.boshqa у webDriver’ов, которые отвечают ochiq brauzer oynalari uchun mas'ul bo'lgan webdriver'ovdagi setCookie (cookie), остальные открытые браузерные окна, тем shu сессия передается bilan sessiya barcha mavjud derazalarga uzatiladi.
Shuni ta'kidlash kerakki, bunday usul http-da, Set - Cookie-da httponly bayrog'i mavjud bo'lsa ham ishlaydi, ya'ni http cookie-ga kirish javascript-dan mumkin emas.
Do'stlaringiz bilan baham: |