logo
ProfessionalCommunity Edition

Burp kengaytmalarini masofaviy debager bilan debag qilish

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

Masofaviy debugger Burp kengaytmangizni u Burp Suite ichida ishlab turgan paytda tekshirish imkonini beradi. Bu muammolarni aniqlashni va kengaytmangiz xatti-harakatini takomillashtirishni osonlashtiradi.

Ushbu qo'llanma masofaviy debug qilishning asosiy usullari haqida umumiy tasavvur beradi. U quyidagilarni qamrab oladi:

  • Breakpointlar (to'xtash nuqtalari) qo'yish.
  • Chaqiruvlar stekini va o'zgaruvchilarni ko'rib chiqish.
  • Kodingizni o'zgartirish.

Dastlabki talablar

Boshlashdan oldin quyidagilar tayyorligiga ishonch hosil qiling:

  • IDE debuggeringiz Burp Suite'ga ulangan bo'lishi kerak. Agar buni hali sozlamagan bo'lsangiz, Burp kengaytmalari uchun masofaviy debug qilishni sozlash sahifasidagi ko'rsatmalarga amal qiling.
  • Kengaytmangiz qurilgan va Burp'ga yuklangan bo'lishi kerak. Breakpointlar to'g'ri ishga tushishiga ishonch hosil qilish uchun kengaytmangizni qayta quring va qayta yuklang, shunda IDE'dagi manba kodi Burp ishga tushirayotgan kompilyatsiya qilingan kodga mos keladi. Ko'rsatmalar uchun Kengaytmangizni Burp'ga yuklash sahifasiga qarang.

1-qadam: Breakpointlar qo'ying

Breakpointlar - bu kengaytmangiz bajarilishini ko'rsatilgan qatorlarda to'xtatib turuvchi belgilar, shu tufayli siz o'zgaruvchilar qiymatlarini va boshqaruv oqimini ko'rib chiqa olasiz.

Ko'pchilik IDE'larda breakpoint qo'yish uchun qator raqami yonidagi chap chekkani bosing. Bitta yoki ikkita breakpointdan boshlang, so'ngra kerak bo'lganda ko'proq qo'shing.

Breakpointlarning joylashuvi siz debug qilmoqchi bo'lgan kodga bog'liq. Kengaytmangiz mantig'idagi muhim bajarilish nuqtalariga breakpointlar qo'yishni ko'rib chiqing, masalan:

  • Kodga kirish nuqtalari - Sizni qiziqtirayotgan mantiqning boshiga yaqin, asosiy metodlar ichiga breakpointlar qo'ying. Agar bajarilish breakpointda to'xtasa, bu metod kutilganidek bajarilayotganini tasdiqlaydi. Masalan, kengaytmangiz to'g'ri yuklanayotganini va Montoya API mavjudligini tekshirish uchun initialize() metodiga breakpoint qo'ying.
  • Qayta ishlash bosqichlari - HTTP so'rovlarini qayta ishlash yoki ma'lumotlarni o'zgartirish kabi yirik qayta ishlash vazifalaridan oldin va keyin breakpointlar qo'ying. Bu ma'lumotlar kodingiz orqali qanday o'zgarayotgani va uzatilayotganini kuzatish imkonini beradi.
  • Istisnolarni qayta ishlash - Xatoga olib kelgan kiritmalar va holatni ko'rib chiqish uchun istisno (exception) chiqarishi ehtimoli bor qatorlarga breakpointlar qo'ying. Shuningdek, muayyan turdagi istisno yuzaga kelganda avtomatik to'xtash uchun ham breakpointlar qo'yishingiz mumkin.

Shartli breakpointlar qo'yish

Shartli breakpointlar bajarilishni faqat muayyan mezonlar bajarilganda to'xtatish imkonini beradi, bu esa debug qilishda keraksiz uzilishlarni kamaytiradi. Ko'pchilik IDE'larda shartli breakpoint qo'yish uchun:

  1. Mavjud breakpointni o'ng tugma bilan bosing.
  2. Shart qo'shing, masalan requestBody.contains("example").

Debugger bajarilishni faqat ko'rsatilgan shart rost bo'lgandagina to'xtatadi.

Loglash breakpointlarini qo'yish

Loglash breakpointlari bajarilishni to'xtatmasdan ma'lumot yozib borish imkonini beradi. Ular sikllarni yoki takrorlanuvchi mantiqni debug qilishda foydali bo'ladi, chunki bunday joylarda odatiy breakpointlar juda ko'p uzilishlarga sabab bo'lardi.

Loglash breakpointini qo'shish uchun:

  1. Mavjud breakpointni o'ng tugma bilan bosing.
  2. Loglash variantini tanlang. IDE'ingizga qarab u, masalan, Evaluate and log yoki Log message to console deb nomlangan bo'lishi mumkin.
  3. Chiqarmoqchi bo'lgan ifodani kiriting, masalan responseBody.length().

2-qadam: Kengaytmangizni Burp'da ishga tushiring

IDE'da breakpointlar qo'yganingizdan so'ng, kengaytmangizning funksionalligini Burp'da ishga tushiring. Burp kengaytmangiz kodidagi breakpointga yetganda bajarilish to'xtaydi. Bu sizga dastur holatini ko'rib chiqish imkonini beradi.

Muammolarni bartaraf etish

Agar bajarilish breakpointlaringizda to'xtamasa, quyidagilarni sinab ko'ring:

  • Breakpoint loglash breakpointi emasligiga yoki sharti bajarilmayotgan shartli breakpoint emasligiga ishonch hosil qiling.
  • Breakpoint IDE'ingizda ovozsiz qilinmagani yoki o'chirilmaganini tekshiring.
  • Eng so'nggi kompilyatsiya qilingan versiyani debug qilayotganingizga ishonch hosil qilish uchun kengaytmangizni qayta quring va qayta yuklang. Ko'rsatmalar uchun Kengaytmangizni Burp'ga yuklash sahifasiga qarang.
  • Debugger ulanganini tasdiqlash uchun bajarilishning oldinroq qismiga breakpoint qo'shing. Masalan, initialize() metodining boshiga breakpoint qo'ying.

Agar debugger ulanmagan bo'lsa, Burp kengaytmalari uchun masofaviy debug qilishni sozlash sahifasidagi ko'rsatmalarga amal qiling.

3-qadam: Stek freymlari va o'zgaruvchilarni ko'rib chiqing

Kodingiz kutilganidek ishlayotganini tekshirish uchun IDE'da, debugger konsolida joriy o'zgaruvchilar qiymatlari va stek freymlarini ko'rib chiqing.

Eslatma

Ushbu bo'lim kengaytmangizni IDE'ingizning debug qilish funksionalligi yordamida debug qilishni boshlashga yordam berish uchun mo'ljallangan. Yanada to'liqroq yo'l-yo'riq uchun IDE ta'minotchingiz hujjatlariga murojaat qiling.

Chaqiruvlar stekini ko'rib chiqing

Chaqiruvlar steki joriy bajarilish nuqtasiga olib kelgan metod chaqiruvlari ketma-ketligini ko'rsatadi. Har bir stek freymi alohida metod chaqiruvini ifodalaydi. Eng yuqoridagi freym hozir bajarilayotgan metod, quyi freymlar esa zanjirdagi oldingi chaqiruvlarni ifodalaydi. Ketma-ketlik siz kutgan mantiqqa mos kelishini tekshiring va o'tkazib yuborilgan metod chaqiruvlaridan darak berishi mumkin bo'lgan anomaliyalarni qidiring.

O'zgaruvchilar qiymatlarini ko'rib chiqing

Har bir freymdagi o'zgaruvchilarni ko'rib chiqing. Muhim o'zgaruvchilar kutilgan qiymatlarni saqlayotganiga ishonch hosil qiling.

Kod bo'ylab qadamma-qadam yuring

Kengaytmani qadamma-qadam bajarish uchun IDE'ingizning qadam tashlash amallaridan foydalaning. Har bir qator bo'ylab siljiganingizda muammolarni aniq belgilash maqsadida shartli mantiq va ma'lumot o'zgarishlari to'g'ri sodir bo'layotganini tekshiring.

Xatolarni terminalda ko'ring

Qo'shimcha xato xabarlari va loglar uchun terminalni tekshiring. Debuggerni ulaganingizda Burp'ni buyruq satridan ishga tushirganingiz sababli Burp terminalga foydali debug ma'lumotlarini chiqarishi mumkin, masalan:

  • Qayta ishlanmagan istisnolar uchun stek treyslari.
  • Ogohlantirish va xato xabarlari.

4-qadam: Kengaytmangizni o'zgartiring va takrorlang

Muammolarni aniqlaganingizdan so'ng kengaytmangizni o'zgartiring va sinovni takrorlang:

  1. Kengaytmangiz kodini kerak bo'lganicha o'zgartiring.
  2. Keraksiz breakpointlarni olib tashlang.
  3. Kerak bo'lsa yangi breakpointlar qo'shing.
  4. Loyihangizni qayta quring va uni Burp'ga qayta yuklang. Buni tezda bajarish uchun Extensions > Installed tabida Ctrl yoki Cmnd tugmasini bosib turgan holda kengaytmangiz yonidagi Loaded katagini tanlang.

5-qadam: Debug seansini yakunlang

Sinovni tugatganingizda:

  1. Debug seansini to'xtating.
  2. Kodingizdan breakpointlarni olib tashlang. Kodingizdagi aktiv breakpointlar kengaytmangiz unumdorligiga ta'sir qilishi mumkin.

Kengaytmangizni ulashish

Fikr-mulohaza olish, ishingizni namoyish etish va boshqa dasturchilar bilan bog'lanish uchun kengaytmangizni PortSwigger Discord'imizdagi #extensions kanalida ulashing.

Kengaytmangizni BApp store'ga yuborishingiz va uni dunyo bo'ylab 80 000 dan ortiq testerdan iborat hamjamiyat uchun ochiq qilishingiz mumkin. Yuborish jarayoni bo'yicha yo'l-yo'riq uchun Kengaytmalarni BApp store'ga yuborish sahifasiga qarang.

Ushbu maqola foydali bo'ldimi?