Passiv skan tekshiruvi: ishlangan misol
Burp Scanner'ni o'zingizning skanerlash tekshiruvlaringizni yozish orqali kengaytirishingiz mumkin. Maxsus skanerlash tekshiruvi Burp o'zi aniqlay olmaydigan yangi xavfsizlik muammolari haqida xabar berishi mumkin.
Bu amaliy misolda biz passiv maxsus skanerlash tekshiruvini yozish uchun Java'dan foydalanamiz. Passiv tekshiruvlar trafikni o'zgartirmasdan yoki yangi so'rovlar yubormasdan tahlil qiladi. Ulardan to'g'ridan-to'g'ri javoblarda ko'rinadigan zaifliklarni aniqlash uchun foydalaning, masalan:
- Yetishmayotgan xavfsizlik sarlavhalari.
- Xato xabarlarida sizib chiqqan server ma'lumotlari.
- Xavfsiz bo'lmagan cookie yoki forma konfiguratsiyalari.
Aloqador sahifalar
- Maxsus skanerlash tekshiruvlarini yozish bo'yicha qo'llanma.
- Maxsus skanerlash tekshiruvlarini yaratish.
- Maxsus skanerlash tekshiruvlarini sinash.
- BCheck asosidagi maxsus skanerlash tekshiruvlarini yaratish bo'yicha ko'rsatmalar uchun BCheck ta'riflari sahifasiga qarang.
- Tadqiqotchilarimiz va hamjamiyat tomonidan yaratilgan maxsus skanerlash tekshiruvlari misollarini ko'rish uchun Bambdas GitHub repozitoriysi - Maxsus skanerlash tekshiruvlari sahifasiga qarang.
Bu misol javobda Content-Security-Policy sarlavhasi bo'lmaganda muammo haqida xabar beradi. U skanerlashdagi har bir so'rov uchun bir marta ishga tushishi mo'ljallangan:
1-qadam: Javob mavjudligiga ishonch hosil qiling
Har qanday ishni boshlashdan oldin tekshiruv ishlash uchun javob mavjudligini tasdiqlaydi. Agar javob mavjud bo'lmasa, u toza tarzda ishni yakunlaydi.
Kodning tahlili
requestResponseBurp sizning skriptingizga uzatadigan so'rov/javob juftligini ifodalaydi.hasResponsejavob qabul qilinganini tekshiradi.- Agar hech qanday javob qabul qilinmasa,
AuditResult.auditResult()bo'sh natija qaytaradi, ya'ni hech qanday muammo haqida xabar berilmaydi.
2-qadam: CSP sarlavhasini tekshiring
Bu javob Content-Security-Policy sarlavhasini o'rnatganini tekshiradi. Agar sarlavha yo'q bo'lsa, kod muammoni qurishda davom etadi.
Kodning tahlili
requestResponse.response()HTTP javob obyektini oladi.hasHeadermuayyan sarlavhani registrga sezgir bo'lmagan tarzda izlaydi.
3-qadam: Muammo o'zgaruvchilarini quring
Bu o'zgaruvchilar xabar berilgan muammoda nima ko'rinishini belgilaydi.
Kodning tahlili
issueTitle- muammoning nomi.issueDetailyetishmayotgan CSP xavfi va ta'sirini tushuntiradi.remediationxavfsiz bazaviy sarlavha misolini beradi.backgroundushbu xavfsizlik mexanizmi haqida kontekst qo'shadi.remediationBackgroundCSP'ni xavfsiz joriy etish bo'yicha yo'riqnoma qo'shadi.
4-qadam: CSP sarlavhasi bo'lmasa, muammo qaytaring
Bu muammo o'zgaruvchilarini AuditIssue ichiga o'raydi va o'sha muammoni saqlovchi AuditResult ni qaytaradi. Tekshiruv topilma haqida xabar berganda, foydalanuvchilar uni All issues panelida (pastki dokdan kirish mumkin) yoki Dashboard dagi tegishli vazifaning Issues yorlig'ida ko'rishlari mumkin.
Kodning tahlili
request().url()muammoni u aniqlangan bazaviy URL bilan bog'laydi.AuditIssueSeverity.LOWtopilmaning jiddiyligini belgilaydi.AuditIssueConfidence.FIRMnatijaga ishonch darajasi yuqoriligini bildiradi.requestResponseBurp'ga ko'rsatish uchun so'rov va javobni taqdim etadi.
5-qadam: Sarlavha mavjud bo'lganda bo'sh natija qaytaring
Agar Content-Security-Policy sarlavhasi mavjud bo'lsa yoki skript 1-qadamda erta yakunlangan bo'lsa, bu bo'sh natija qaytaradi va hech qanday muammo haqida xabar berilmaydi.