Ciao ragazzi ho un problema con questa estensione per burp scritta in python.
Quando vado per avviarla mi da questo errore:
Vi ringrazio in anticipo..
Codice:
from burp import IBurpExtender
from burp import IContextMenuFactory
from javax.swing import JMenuItem
from java.util import List, ArrayList
from java.net import URL
import re
from datetime import datetime
from HTMLParser import HTMLParser
class TagStripper(HTMLParser):
def __init__(self):
HTMLParser.__init__(self)
self.page_text=[]
def handle__data(self,data):
self.page_text.append(data)
def strip(self, html):
self.handle_data(data)
def strip(self,html):
self.feed(hmtl)
return "".join(self.page_text)
class BurpExtender(IBurpExtender, IContextMenuFactory):
def registerExtenderCallbacks(self, callbacks):
self._callbacks = callbacks
self._helpers = callbacks.getHelpers()
self.context = None
self.host = set()
#inizia con qualcosa che sappiamo essere comune
self.wordlist = set(["password"])
#impostiamo la nostra estensione
callbacks.setExtensionName("BHP Wordlist")
callbacks.registerContextMenuFactory(self)
return
def createMenuItems(self, context_menu):
self.context = context_menu
menu_list= ArrayList()
menu_list.add(JMenuItem("Create Wordlist", actionPerformed=self.wordlist_menu))
return menu_list
def wordlist_menu(self,event):
#recupera i dettagli su cio che l'utente ha cliccato
http_traffic = self.context.getSelectedMessages()
for traffic in http_traffic:
http_service = traffic.getHttpService()
host = http_service.getHost()
self.host.add(host)
http_response = traffic.getResponse()
if http_response:
self.get_words(http_response)
self.display_wordlist()
return
def get_words(self, http_response):
headers, body = http_response.tostring().split('\r\n\r\n', 1)
#salta le risposte che non contengono testo
if headres.lower().find("content-type: text") == -1:
return
tag_stripper = TagStripper()
page_text = tag_stripper.strip(body)
words= re.findall("[a-zA-Z]w\{2,}", page_text)
for word in words:
#filtra le stringhe lunghe
if len(word) <=12:
self.wordlist.add(word.lower())
return
def mangle(self, word):
year = datetime.now().year
suffixes = ["", "1", "!", year]
mangled = []
for password in (word, word.capitalize()):
for suffix in suffixes:
mangled.append("%s%s" % (password, suffix))
return mangled
def display_wordlist(self):
print "#!comment: BHP wordlist for site(s) %s" % ", ".join(self.host)
for word in sorted(self.wordlist):
for password in self.mangle(word):
print password
return
Quando vado per avviarla mi da questo errore:
Codice:
Traceback (most recent call last):
File "/root/Scrivania/1Att/bhp_wordlist.py", line 48, in wordlist_menu
http_traffic = self.context.getSelectedMessages()
AttributeError: 'burp.cj' object has no attribute 'getHttpService'
Vi ringrazio in anticipo..