API skanerlash uchun talablar
Burp Scanner API'larni zaifliklarga skanerlashi mumkin. Bu ilovalaringizdagi kengroq hujum yuzasini aniqlash imkonini beradi.
API skanerlashni boshlash
Burp Suite DAST ham, Burp Suite Professional ham skanerlanadigan API ta'rifini yuklash imkonini beradi. Burp Scanner ta'rifdagi endpoint'lar, parametrlar va autentifikatsiya ma'lumotlarini avtomatik aniqlaydi, so'ngra aniqlangan endpoint'larni audit qiladi.
Qo'shimcha ma'lumot
- DAST Burp Suite DAST'da API'larni skanerlash haqida batafsil ma'lumot uchun Yangi API ta'riflarini qo'shish sahifasiga qarang.
- Professional Burp Suite Professional'da API'larni skanerlash haqida batafsil ma'lumot uchun API'larni skanerlash sahifasiga qarang.
Yo'l-yo'lakay API skanerlash
Burp Scanner, shuningdek, odatiy crawl faoliyati davomida duch keladigan har qanday API ta'riflarini tahlil qiladi, so'ngra topilgan endpoint'larni crawl qiladi va audit qiladi.
Eslatma
Odatiy crawl faoliyati davomida API skanerlashni o'chirish uchun maxsus skanerlash konfiguratsiyangizdagi Discovery logic bo'limida Parse API definitions crawl parametri belgisini olib tashlang.
API ta'rifiga qo'yiladigan talablar
Burp Scanner har bir bo'limda keltirilgan mezonlarga javob beradigan OpenAPI ta'riflari, SOAP WSDL'lar, Postman Collection'lar va GraphQL API'larni tahlil qilishi va skanerlashi mumkin.
OpenAPI ta'rifiga qo'yiladigan talablar
Burp quyidagi OpenAPI ta'riflarini tahlil qila oladi:
JSONyokiYAMLformatida bo'lgan.- Tashqi havolalarni o'z ichiga olmaydigan.
- Burp Scanner uchun yetib boriladigan server URL'larini o'z ichiga olgan.
- Fayldan yuklanganda server URL'lari uchun mutlaq URL'larni o'z ichiga olgan.
OpenAPI endpoint'lari
Burp Scanner har bir server-yo'l-metod kombinatsiyasini alohida endpoint sifatida aniqlaydi. Masalan, agar API ta'rifi uchta serverni o'z ichiga olsa va ularning har biri GET va POST ni qo'llab-quvvatlasa, Burp oltita endpoint'ni aniqlaydi.
OpenAPI endpoint'larini audit qilishda Burp Scanner quyidagi qoidalarga amal qiladi:
- Ixtiyoriy parametrlar uchun u quyidagilarni yuboradi:
- Faqat majburiy parametrlar bilan bitta so'rov.
- Majburiy va ixtiyoriy parametrlar bilan birgalikda bitta so'rov.
- Sanab o'tilgan (enum) turlar uchun u har bir ruxsat etilgan qiymat bo'yicha alohida so'rov yuboradi.
- Sonli qiymatlar uchun u so'rovlarida maksimal va minimal qiymatlardan foydalanadi.
- Agar API ta'rifi parametr qiymatlariga misollarni o'z ichiga olsa, u so'rovida oxirgi misolni qo'shadi.
- Agar misol qiymatlari berilmagan bo'lsa, Burp Scanner so'rovlarda ishlatish uchun qiymatlar hosil qiladi:
- Massivlar uchun u talab qilinadigan minimal miqdordagi qiymatlarni yaratadi.
- Yo'l parametrlari uchun u minimal, maksimal va tasodifiy qiymat hosil qiladi hamda har biri uchun alohida so'rov yuboradi.
Eslatma
Agar Burp OpenAPI ta'rifingizdagi ba'zi endpoint'larni skanerlay olmasa, u bularni hodisalar jurnaliga yozib qo'yadi.
SOAP WSDL uchun talablar
Burp quyidagi SOAP WSDL'larni tahlil qila oladi:
WSDLformatida bo'lgan.- Tashqi havolalarni o'z ichiga olmaydigan.
- Burp Scanner uchun yetib boriladigan server URL'larini o'z ichiga olgan.
- Fayldan yuklanganda server URL'lari uchun mutlaq URL'larni o'z ichiga olgan.
SOAP endpoint'lari
SOAP endpoint'larini audit qilishda Burp Scanner quyidagi qoidalarga amal qiladi:
- Kontent turi har bir endpoint uchun SOAP versiyasidan avtomatik aniqlanadi.
- Ixtiyoriy parametrlar har doim yuboriladi.
- Sanab o'tilgan (enum) turlar uchun u birinchi ruxsat etilgan qiymatdan foydalanib bitta so'rov yuboradi.
- Sonli qiymatlar uchun u tasodifiy hosil qilingan qiymatdan foydalanib bitta so'rov yuboradi.
- Agar API ta'rifi parametr qiymatlariga misollarni o'z ichiga olsa, u so'rovida birinchi misolni qo'shadi.
- Parametr qiymatlariga misollari bo'lmagan endpoint'lar uchun u tasodifiy hosil qilingan qiymatdan foydalanib bitta so'rov yuboradi.
- Massiv uchun u so'rovida talab qilinadigan minimal miqdordagi qiymatlarni yuboradi.
Eslatma
Agar Burp SOAP WSDL'ingizdagi ba'zi endpoint'larni skanerlay olmasa, u bularni hodisalar jurnaliga yozib qo'yadi.
Postman Collection uchun talablar
Burp Suite quyidagi Postman Collection'larni tahlil qila oladi:
v2.1.0formatida eksport qilingan.- Burp Scanner uchun yetib boriladigan server URL'larini o'z ichiga olgan.
- Mutlaq server URL'larini o'z ichiga olgan.
Burp hozircha quyidagi Postman imkoniyatlarini qo'llab-quvvatlamaydi:
- O'zgaruvchilar qo'llab-quvvatlanadi, lekin muhitlar (environments) qo'llab-quvvatlanmaydi. To'g'ri qiymatlar ishlatilishiga ishonch hosil qilish uchun Collection o'zgaruvchilarini Postman'ning Variables yorlig'ida qo'lda aniqlashingiz yoki eksport qilingan
JSONfaylingizni tahrirlashingiz kerak. - Skriptlar hozircha qo'llab-quvvatlanmaydi.
Postman so'rovlari
Postman so'rovlarini audit qilishda Burp Scanner quyidagi qoidalarga amal qiladi:
- Agar o'rinbosarlar (placeholder) uchun o'zgaruvchilar aniqlanmagan bo'lsa, Burp tasodifiy qiymatdan foydalanadi.
Burp quyidagi Postman so'rovlarini skanerlay olmaydi:
- Body turi
filebo'lgan. - Body turi
formdatabo'lgan. - Body turi
graphqlbo'lgan.
Eslatma
Agar Burp Postman Collection'ingizdagi ba'zi so'rovlarni yubora olmasa, u bularni hodisalar jurnaliga yozib qo'yadi.
GraphQL ta'rifiga qo'yiladigan talablar
Burp quyidagi GraphQL API'larni skanerlay oladi:
- Burp Scanner uchun yetib boriladigan URL'dan foydalanadigan.
- Introspeksiya (introspection) yoqilgan.
GraphQL endpoint'lari
Burp Scanner GraphQL API endpoint'larini skanerlashi va audit qilishi mumkin. GraphQL skanerlash foydalanuvchilarga API tuzilishini so'rash imkonini beruvchi o'rnatilgan imkoniyat — introspeksiyaga tayanadi.
GraphQL API'larni skanerlashda Burp Scanner quyidagi jarayondan foydalanadi:
- Agar siz GraphQL API URL'ini bersangiz, Burp Scanner o'sha endpoint'ga barcha mavjud so'rovlar (query) va mutatsiyalar tafsilotlarini so'rovchi introspeksiya so'rovini yuboradi.
- Odatiy crawl'lar davomida Burp Scanner GraphQL endpoint'larini tekshiradi. GraphQL API'lar barcha amallar uchun bir xil endpoint'dan foydalanganligi sababli, crawler to'liq crawl bajarish uchun REST API'dagi kabi bir nechta endpoint topishi shart emas.
- Agar dastlabki crawl GraphQL endpoint'ini topmasa va Test common GraphQL endpoints sozlamasi tanlangan bo'lsa, crawler keng tarqalgan endpoint suffikslari ro'yxatidan foydalanib GraphQL endpoint'larini taxmin qilishga urinadi.
- GraphQL endpoint topilgach, Burp Scanner barcha mavjud so'rovlar va mutatsiyalar tafsilotlarini so'rovchi introspeksiya so'rovini yuboradi.
- Agar introspeksiya so'rovi muvaffaqiyatli bo'lsa, Burp Scanner barcha mavjud so'rovlar va mutatsiyalarga so'rovlar yuboradi. U har bir so'rovda yuboriladigan argumentlarni aniqlash uchun ushbu sahifadagi har bir aniq API bo'limida tushuntirilgan qoidalardan foydalanadi. Zarur bo'lganda, u bir xil so'rovning bir nechta o'rin almashtirilgan variantini yuboradi.
- Crawl tugagach, Burp Scanner topilgan so'rovlarni audit qiladi va topilgan muammolarni boshqa har qanday nishondagi kabi ko'rsatadi.
Eslatma
GraphQL API'larni samarali sinash haqida batafsil ma'lumot uchun GraphQL API zaifliklari nomli Web Security Academy mavzusiga qarang.