Pompăm suita burp

Burp Suite este, dacă nu principalul, probabil unul dintre instrumentele principale ale unui penitenciar. De la lansarea primei versiuni Burp a achiziționat multe caracteristici noi, au apărut versiuni plătite și gratuite. Cu toate acestea, de multe ori, atunci când efectuați un pentest, funcționalitatea încorporată nu este suficientă, iar în acest caz Burp Extender - un set de interfețe pentru extinderea capacităților Burp - ajung la salvare. Programul în sine este scris în Java, iar extensiile de scriere sunt oferite și în această limbă. Cu toate acestea, eforturile unor dezvoltatori terți au prezentat mai multe proiecte, al căror scop este de a permite crearea de extensii în alte limbi. Printre acestea:









  • Buby - vă permite să scrieți extensii la Ruby folosind jRuby;
  • Resty Burp - oferă o interfață REST / JSON pentru funcționalitatea Burp, care vă permite să scrieți extensii în orice limbă (din păcate funcționează numai cu o versiune plătită Burp).
  • Jython Burp API - oferă acces la interfețele Burp Extender cu Jython (implementarea Python în Java);







Recent, a existat un site care a blocat IP-ul vizitatorului, dacă a făcut acțiuni suspecte. Modul de a ocoli această protecție a fost găsit aproape imediat - a trebuit doar să adăugați antetul X-Forwarded-For tuturor pachetelor HTTP cu o adresă IP aleatorie. Cu toate acestea, în Burp, nu a fost posibilă implementarea unei astfel de procesări a pachetelor de ieșire pentru toate uneltele, în special Proxy, Spider și Repeater. Și aici a venit ajutorul Jython Burp API, care a permis obținerea rezultatelor necesare destul de repede. Pentru aceasta, a trebuit să instalați Java Development Kit și Jython 2.7, apoi să compilați codul sursă API Jython Burp în directorul Burp working cu următoarea comandă:

Pentru a face față cererilor, extensia trebuie să implementeze interfețele instrumentelor Burp corespunzătoare (de exemplu, IProxyRequestHandler, ISpiderRequestHandler, etc) și să aibă metoda processRequest. Ca urmare, a fost obținută următoarea extensie:

Extensia a fost plasată în folderul Lib / gds / burpext împreună cu __init__.py necesar:

Toate extensiile sunt înregistrate în burp.ini, în cazul meu a fost necesar să se adauge următoarele rânduri:

În cele din urmă, lansarea:

Ca rezultat, diferența în funcționalitatea lui Burp a fost eliminată. Sper că acest manual va ajuta pe oricine dorește să înceapă scrierea extensiilor pentru Burp în Python.

P.S. Pentru cei care scriu în Java, voi nota un articol recent în limba engleză despre organizarea mediului pentru dezvoltare în cadrul Burp în Java.







Trimiteți-le prietenilor: