logo
DASTProfessional

Crawl qilish

Oxirgi yangilanish: 23-iyul, 2026O'qish vaqti: 6 daqiqa

Crawl (saytni aylanib chiqish) bosqichi odatda skanerlashning birinchi qismi bo'ladi. Crawl bosqichida Burp Scanner ilova bo'ylab harakatlanadi. U ilova mazmuni va navigatsion yo'llarini ro'yxatga olish uchun havolalarni kuzatib boradi, shakllarni yuboradi va zarur bo'lganda tizimga kiradi.

Bu jarayon dastlab oddiy tuyulishi mumkin, biroq zamonaviy veb-ilovalarning dizayni tufayli crawler ilovaning aniq xaritasini tuzish uchun o'zgaruvchan mazmun, sessiyani boshqarish usullari, ilova holatidagi o'zgarishlar va murakkab login mexanizmlari kabi qiyinchiliklarni yenga olishi kerak.

Asosiy yondashuv

Sukut bo'yicha crawler ilova bo'ylab harakatlanish uchun Burp brauzeridan foydalanadi. Burp Scanner ilovaning xaritasini yo'naltirilgan graf ko'rinishida quradi; bu graf ilovadagi turli joylashuvlarni va ular orasidagi bog'lanishlarni ifodalaydi.

URL tuzilishi bilan ishlash

Burp Scanner joylashuvlarni ularga yetib borish uchun ishlatgan URL bo'yicha emas, balki mazmuni bo'yicha aniqlaydi. Bu unga URL'lar ichiga CSRF tokenlari yoki kesh buzuvchilar (cache busters) kabi qisqa umrli ma'lumotlarni joylashtiradigan zamonaviy ilovalarni ishonchli tarzda uddalash imkonini beradi. Har bir havoladagi URL har safar unga murojaat qilinganda butunlay o'zgarib tursa ham, Burp Scanner ilovaning aniq xaritasini tuza oladi.

Har safar o'zgaradigan qisqa umrli URL'larga ega ilova

Bu yondashuv, shuningdek, Burp Scanner'ga ilova holati va foydalanuvchining harakatlariga qarab bir xil URL orqali bir nechta joylashuvga yetib boradigan ilovalarni uddalash imkonini beradi.

Ilova holati yoki foydalanuvchining u bilan muomalasiga qarab bir xil URL orqali turli joylashuvlarga yetib boradigan ilova

Burp Scanner nishon ilova bo'ylab harakatlanar ekan, yo'naltirilgan grafdagi hali yakunlanmagan qirralarni kuzatib boradi. Ular crawler ko'rgan, biroq hali tashrif buyurmagan havolalar va boshqa navigatsion o'tishlarni ifodalaydi.

Crawler aylanib chiqish paytida hech qachon kutilayotgan havolaga "sakrab o'tmaydi" va unga kontekstdan tashqarida tashrif buyurmaydi. Buning o'rniga u yo joriy joylashuvidan to'g'ridan-to'g'ri o'tadi, yoki boshlang'ich joylashuvga qaytib, o'sha yerdan harakatlanadi. Bu xatti-harakat inson foydalanuvchining harakatlarini imkon qadar aniq takrorlaydi.

Crawl'ning boshlang'ich joylashuviga qaytish

Ortiqcha mazmundan qochish

URL tuzilishi haqida taxminlar qilmasdan aylanib chiqish zamonaviy veb-ilovalar bilan ishlashning samarali usulidir. Biroq bu skanerlashning haddan tashqari ko'p mazmunni ko'rishiga olib kelishi mumkin. Zamonaviy veb-saytlarda ko'pincha (masalan, sahifa footerlari yoki burger menyular orqali) ko'plab ortiqcha navigatsion yo'llar bo'ladi va ular amalda saytdagi hamma narsani hamma narsaga bog'lab qo'yadi. Burp Scanner bu muammoni hal qilish uchun bir necha usuldan foydalanadi:

  • U allaqachon tashrif buyurgan joylashuvlarga olib boruvchi havolalarning barmoq izlarini (fingerprint) tuzadi, shunda ularga takroran tashrif buyurmaydi.
  • U yangi mazmunni topishga ustuvorlik beruvchi kenglik bo'yicha (breadth-first) tartibda aylanib chiqadi.
  • U crawl ko'lamini cheklab turuvchi sozlanadigan chegaralarga ega.

Bu choralar, shuningdek, kalendarlar kabi "cheksiz" ilovalar bilan ishlashga ham yordam beradi.

Seanslarni boshqarish

Burp Scanner deyarli har qanday sessiyani boshqarish mexanizmi bilan avtomatik tarzda ishlay oladi. Sessiyani olish yoki joriy sessiya haqiqiy ekanini tekshirish uchun makroslarni yozib olish yoki sessiyani boshqarish qoidalarini sozlash shart emas.

Crawler harakatlanar ekan yuboradigan so'rovlari oldingi javob asosida dinamik ravishda tuziladi. Bu Burp Scanner'ga URL'lardagi yoki shakl maydonlaridagi CSRF tokenlarini avtomatik boshqarish imkonini beradi, shu sababli u murakkab sessiyani boshqarishdan foydalanadigan funksiyalar bo'ylab qo'shimcha sozlashsiz harakatlana oladi.

Crawl davomida sessiya tokenlarini avtomatik boshqarish

Ilova holatidagi o'zgarishlarni aniqlash

Zamonaviy veb-ilovalar holatga kuchli bog'liq bo'lib, bir xil ilova funksiyasi foydalanuvchi harakatlari natijasida turlicha mazmun qaytarishi odatiy hol. Burp crawler'i crawl davomida o'z harakatlari natijasida yuzaga keladigan ilova holatidagi o'zgarishlarni aniqlaydi.

Quyidagi misolda BC yo'li bo'ylab harakatlanish ilovaning 1-holatdan 2-holatga o'tishiga sabab bo'ladi. D havolasi 1-holatda 2-holatdagidan mantiqan boshqacha joylashuvga olib boradi. Shu sababli AD yo'li bo'sh savatga, ABCD esa to'ldirilgan savatga olib boradi.

Burp Scanner D havolasini shunchaki nodeterministik deb xulosa qilish o'rniga, D havolasi bog'liq bo'lgan holatni o'zgartiruvchi yo'lni aniqlay oladi. Bu crawler'ga kelgusida to'ldirilgan savat joylashuviga ishonchli tarzda yetib borish va u yerdan mavjud bo'lgan boshqa funksiyalarga kirish imkonini beradi:

Crawl davomida ilova holatidagi o'zgarishlarni aniqlash

Autentifikatsiyalangan skanerlash

Burp Scanner nishon ilovani aylanib chiqqanda, ilovaning hujum yuzasini imkon qadar to'liq qamrab olishga harakat qiladi. Autentifikatsiyalangan skanerlash Burp'ga foydalanuvchi paneli va admin paneli kabi kirish uchun login talab qiladigan imtiyozli mazmunni aylanib chiqish imkonini beradi.

Crawler nishon ilovalarda ikki usulda autentifikatsiyadan o'ta oladi:

  • Login credentials - bu oddiy foydalanuvchi nomi va parol juftliklari. Ular bir bosqichli login mexanizmidan foydalanadigan saytlar uchun mo'ljallangan.
  • Recorded login sequences - bu foydalanuvchi tomonidan belgilangan ko'rsatmalar ketma-ketligi. Ular Single Sign-On kabi murakkab login mexanizmlaridan foydalanadigan saytlar uchun mo'ljallangan.

Har bir skanerlash uchun faqat bitta autentifikatsiya usulidan foydalanishingiz mumkin. Agar siz login hisob ma'lumotlari bilan birga yozib olingan login ketma-ketligini ham kiritsangiz, Burp Scanner login hisob ma'lumotlarini e'tiborga olmaydi.

Ilovaning login hisob ma'lumotlari

Burp Scanner crawl'ni hech qanday hisob ma'lumotlari yuborilmaydigan autentifikatsiyasiz bosqich bilan boshlaydi. Bu unga ilova ichidagi login va o'z-o'zini ro'yxatdan o'tkazish funksiyalarini topish imkonini beradi.

Eslatma

Burp tizimga kirish va o'z-o'zini ro'yxatdan o'tkazish formalarini qanday aniqlashi haqida batafsil ma'lumot olish uchun Tizimga kirish va ro'yxatdan o'tish formalarini aniqlash sahifasiga qarang.

Agar ilova o'z-o'zini ro'yxatdan o'tkazishni qo'llab-quvvatlasa, Burp Scanner sukut bo'yicha shu bosqichda foydalanuvchini ro'yxatdan o'tkazishga urinadi.

Agar Use invalid usernames to trigger login failures skanerlash konfiguratsiyasi sozlamasi yoqilgan bo'lsa, Burp Scanner saytga soxta kirish ma'lumotlarini yuborishga ham urinadi. Bu ma'lumotlar bilan tizimga kirib bo'lmasa-da, ular hisobni tiklash mexanizmlari kabi qiziqarli funksiyalarga yetib borishi mumkin.

Eslatma

Agar skanerlash konfiguratsiyasining Crawl strategy bo'limida Only perform an authenticated crawl using the provided credentials opsiyasini tanlasangiz, Burp Scanner crawl'ning autentifikatsiyasiz bosqichini o'tkazib yuboradi.

Keyin Burp Scanner autentifikatsiyalangan crawl'ga urinadi. U login funksiyasiga bir necha bor tashrif buyuradi va quyidagilar bilan tizimga kirishga harakat qiladi:

  • O'z-o'zini ro'yxatdan o'tkazgan hisob uchun kirish ma'lumotlari (agar mavjud bo'lsa).
  • Oldindan mavjud bo'lgan hisob uchun siz ko'rsatgan kirish ma'lumotlari.

Burp Scanner har bir hisob ma'lumotlari to'plami bilan navbatma-navbat tizimga kiradi va login mexanizmi ortidagi mazmunni aylanib chiqadi. Bu tizimga turli toifadagi foydalanuvchilar uchun mavjud bo'lgan turli funksiyalarni qamrab olish imkonini beradi.

Turli foydalanuvchilar uchun mavjud bo'lgan turli funksiyalarga yetib borish maqsadida turli login hisob ma'lumotlari bilan aylanib chiqish

O'zgaruvchan mazmunni aylanib chiqish

Zamonaviy veb-ilovalarda ko'pincha o'zgaruvchan mazmun bo'ladi, ya'ni bir xil joylashuv yoki funksiya turli paytlarda turlicha javob qaytaradi va bu har doim ham foydalanuvchi harakati natijasi bo'lavermaydi. Bunday xatti-harakat ijtimoiy tarmoq lentalari, foydalanuvchi izohlari, sahifa ichidagi reklama yoki chinakam tasodifiy mazmun (masalan, kun xabari yoki A/B testlash) kabi omillardan kelib chiqishi mumkin.

Crawler o'zgaruvchan mazmunning ko'plab holatlarini aniqlay oladi. So'ngra u javoblardagi farqlarga qaramay, turli tashriflarda o'sha joylashuvni qayta taniy oladi. Bu tizimga ilova javoblari to'plamidagi asosiy elementlarga e'tiborni qaratish va ilova mazmuni hamda funksionalligiga olib boruvchi muhim navigatsion yo'llarni topish imkonini beradi.

HTML sahifaning asosiy elementlarini va turli paytlarda o'zgaradigan o'zgaruvchan mazmunni aniqlash

Ba'zi hollarda havolaga turli paytlarda tashrif buyurish bir xil deb hisoblab bo'lmaydigan javoblarni qaytaradi. Bunday vaziyatda Burp Scanner javobning ikkala versiyasini ham ikki xil joylashuv sifatida saqlaydi va grafda nodeterministik qirra chizadi. Crawl'da nodeterministik holatlar juda ko'p bo'lmasa, Burp odatda nodeterministik havola ortidagi mazmunga baribir yo'l topa oladi.

Ilova javoblari ba'zan nodeterministik bo'lganda aylanib chiqish

Burp brauzeri bilan aylanib chiqish

Sukut bo'yicha, agar kompyuteringiz qo'llab-quvvatlasa, Burp Scanner nishon veb-saytlar va ilovalar bo'ylab harakatlanish uchun o'rnatilgan Chromium brauzeridan foydalanadi. Bu Burp Scanner'ga mijoz tomonidagi texnologiyalarning aksariyati bilan ishlash imkonini beradi.

Brauzerga asoslangan skanerlashning asosiy afzalliklaridan biri - JavaScript'ga boy mazmunni samarali aylanib chiqish qobiliyati. Ba'zi veb-saytlar navigatsion UI'ni dinamik yaratish uchun JavaScript'dan foydalanadi. Bu mazmun xom HTML'da mavjud bo'lmasa-da, Burp Scanner brauzerdan foydalanib sahifani yuklashi, UI'ni qurish uchun zarur skriptlarni bajarishi va so'ngra odatdagidek aylanib chiqishni davom ettirishi mumkin.

Bu, shuningdek, Burp Scanner'ga veb-saytlar so'rovlarni asinxron tarzda yoki JavaScript yordamida hujjat hodisalariga javoban qurib yuboradigan holatlarni uddalash imkonini beradi.

Masalan, veb-sayt onsubmit hodisasidan keyin shakl yuborish so'rovini qurish uchun JavaScript'dan foydalanib, parametrlarga yaratilgan CSRF tokenini qo'shishi mumkin. Brauzer, shuningdek, crawler'ga JavaScript hodisa ishlovchilari orqali bosiladigan qilingan va aks holda navigatsion deb tanilmaydigan elementlar bilan muomala qilish imkonini beradi.

Skanerlash konfiguratsiyangizda brauzerga asoslangan skanerlashni qo'lda yoqish yoki o'chirish uchun Crawl settings > Discovery logic bo'limiga o'ting.

Crawl yo'llarini ko'rish

Burp Suite Professional'da siz skanerlashning crawl bosqichini Target > Crawl paths yorlig'idan real vaqtda kuzatishingiz mumkin. Ushbu yorliq crawler nishon saytda topilgan har bir joylashuvga yetib borish uchun bajargan harakatlarni hamda o'sha joylashuvlarda topilgan muammolarni ko'rsatadi.

Target > Crawl paths yorlig'i joriy loyihadagi barcha oddiy, izolyatsiyalanmagan skanerlashlar bo'yicha birlashtirilgan yo'l ma'lumotlarini ko'rsatadi. Siz ishga tushiradigan har qanday yangi izolyatsiyalanmagan skanerlash ushbu yorliqda ko'rsatilgan ma'lumotlardan foydalanishi va unga yangi ma'lumot qo'shishi mumkin, bu esa siz ko'proq skanerlash o'tkazgan sari Burp Scanner'ga samaraliroq aylanib chiqish imkonini beradi.

Eslatma

Burp Suite Professional'da crawl yo'llarini ko'rishda qanday ma'lumot ko'rsatilishi haqida bilish uchun Crawl paths sahifasiga qarang.

Ushbu maqola foydali bo'ldimi?