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))]
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"
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
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 = ''