示例#1
0
 def __init__(self):
     self.long = 18
     self.sets = ServerConfig.Sets()
     self.name = ServerInfo.Info('name').get_info()
     self.ver = ServerInfo.Info('ver').get_info()
     self.form = ServerInfo.Info('about').get_info()
     self.auth = ServerInfo.Info('by').get_info()
     self.mail = ServerInfo.Info('mail').get_info()
     self.noyes = [ru('No'), ru('Yes')]
     self.version = [ru('Default'), ru('HTTP/1.0'), ru('HTTP/1.1')]
     self.method = [ru('HEAD'),
      ru('GET'),
      ru('POST'),
      ru('DELETE'),
      ru('CONNECT'),
      ru('OPTIONS'),
      ru('TRACE'),
      ru('PUT')]
     self.line = [ru('\\r\\n'), ru('\\n')]
     self.split = [ru('Default'),
      ru('%s' % (self.line[self.sets.ILINE] * self.sets.ILINE)),
      ru('%s' % (self.line[self.sets.ILINE] * self.sets.ILINE)),
      ru('%s' % (self.line[self.sets.ILINE] * self.sets.ILINE)),
      ru('%s' % (self.line[self.sets.ILINE] * self.sets.ILINE)),
      ru('%s' % (self.line[self.sets.ILINE] * self.sets.ILINE))]
示例#2
0
def IsExec():
    newname = sys.stdout.write("+++ This is %s on %s Version %s +++\r\n\r\n" % (ServerInfo.Info('name').get_info().replace(' ', ''), platform.system(), ServerInfo.Info('ver').get_info()[:4]) )
    toclose = sys.stdout.write("Press Ctrl+C to exit -- rewritten by %s\r\n\r\n" % ServerInfo.Info('mail').get_info())
    stdtime = sys.stdout.write("%s Server started at - %s:%s \r\n\r\n" % (time.asctime(), sets.LHOST, sets.LPORT))
    ihost = sys.stdout.write("Using Injection Host %s \r\n" %sets.IQUERY)
    spacer = sys.stdout.write("\r\n")
    if sets.LOGS == 0:
        LogWindow(flag = False)
        print "Quiet Mode, Logging Disabled\r\n"
    elif sets.LOGS == 1:
        LogWindow(flag = True)
        print "Logging enabled\r\n"
    elif sets.LOGS == 2:
        print "Logging to file: session.log\r\n"
示例#3
0
    def do_CONNECT(self):
        if sets.RHTTPS:
            self.get_urlcheck()
            self.get_headercheck()
            self.get_recv_headers()
            self.get_proxy()
            query = QueryHandler(self.command, self.path, self.headers,
                                 self.https, self.phost, self.pport)
            self.path, self.headers, self.uahdr, self.host, self.port, self.advhost = query.get_query(
            )
            self.get_newline()
            self.get_requestline()
            self.get_injectline()
            self.get_send_inject()
            self.get_send_headers()
            soc = self.proxy_sock()
            try:
                if self.connect_to(soc, self.host, self.port, self.advhost):
                    data = '%s 200 Connection Established\r\nProxy-Agent: %s/%s' % (
                        self.request_version,
                        ServerInfo.Info('name').get_info().replace(
                            ' ', ''), ServerInfo.Info('ver').get_info()[:3])
                    self.send_response_data('%s\r\n' % data)
                    self.send_response_data('\r\n')
                    self.get_response_header(data)
                    self.get_response_data(soc)
                    self.send_connection_close(soc)
                    self.del_garbage()
            except socket.error as msg:
                self.send_connection_error(msg)
                self.send_connection_close(soc)
                return
            except:
                return

        else:
            self.send_connection_error((501, 'method not allowed'))
            self.connection.close()
            return
示例#4
0
 def get_response_header(self, data):
     if not self.https:
         index = self.find_double_newline(data)
         if index >= 0:
             data = str(data[:index].split('\r\n\r\n')[0])
             if self.get_data_splitter(data):
                 self.send_connection_logger(Y+'++++++++++++ RESPONSE ++++++++++++\r\n' % data)
                 self.send_connection_logger('\r\n')
     elif self.get_data_splitter(data):
                 self.send_connection_logger(Y+'++++++++++++ RESPONSE ++++++++++++\r\n')
                 self.send_connection_logger(B+'[+] %s\r\n' % data)
                 self.send_connection_logger(G+'Client Connected! : %s/%s\r\n' % (ServerInfo.Info('name').get_info(), ServerInfo.Info('ver').get_info()[:3]))
                 self.send_connection_logger('\r\n')
import os
import ServerInfo
ru = lambda text: text.decode('utf-8', 'ignore')
ur = lambda text: text.encode('utf-8', 'ignore')
name = '%s.conf' % ServerInfo.Info('name').get_info().replace(' ', '')
path = '/'
conf = '%s%s%s' % (os.getcwd(), path, name)


class Sets:
    def __init__(self):
        self.LHOST = '127.0.0.1'
        self.LPORT = 8080
        self.FQUERY = ''
        self.MQUERY = ''
        self.BQUERY = ''
        self.RQUERY = ''
        self.CQUERY = ''
        self.IQUERY = ''
        self.ADBLOCKER = 0
        self.IMETHOD = 1
        self.ILINE = 0
        self.ISPLIT = 5
        self.RPORT = 0
        self.RPATH = 0
        self.ADMODE = 0
        self.CUSHDR0 = ''
        self.VALHDR0 = ''
        self.CUSHDR1 = ''
        self.VALHDR1 = ''
        self.CUSHDR2 = ''