Domanda Aiuto errore

Stato
Discussione chiusa ad ulteriori risposte.

Disordine.

Utente Silver
24 Dicembre 2015
136
20
15
74
Ciao ragazzi ho un problema con questa estensione per burp scritta in python.
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..
 
Ciao ragazzi ho un problema con questa estensione per burp scritta in python.
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..
 
Stato
Discussione chiusa ad ulteriori risposte.