Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env python
- #
- from enc import sqlenc
- import sys, socket, string
- if len(sys.argv) != 5:
- print "Usage: ./sqlenc.py <host> <port> <nick> <channel>"
- sys.exit(1)
- HOST = sys.argv[1]
- PORT = int(sys.argv[2])
- NICK = sys.argv[3]
- CHAN = sys.argv[4]
- readbuffer = ""
- s=socket.socket( )
- s.connect((HOST, PORT))
- s.send("NICK %s\r\n" % NICK)
- s.send("USER %s %s bla :%s\r\n" % (NICK, NICK, NICK))
- s.send("JOIN :%s\r\n" % CHAN)
- sqlenc = sqlenc()
- while 1:
- readbuffer=readbuffer+s.recv(1024)
- temp=string.split(readbuffer, "\n")
- readbuffer=temp.pop( )
- for line in temp:
- line=string.rstrip(line)
- line=string.split(line)
- try:
- if line[3] == ":!sqlenc":
- name = str(line[0].split("!")[0])
- query = line[4:]
- query = " ".join(query)
- s.send("PRIVMSG %s :%s%s ...\r\n" % (CHAN, "Encoding for ", name.replace(":","")))
- s.send("PRIVMSG %s :QUERY: %s\r\n" % (CHAN, query))
- s.send("PRIVMSG %s :MySQL: %s\r\n" % (CHAN, sqlenc.myToAscii(query)))
- s.send("PRIVMSG %s :MySQL hex: %s\r\n" % (CHAN, sqlenc.myToHex(query)))
- s.send("PRIVMSG %s :Oracle: %s\r\n" % (CHAN, sqlenc.oraToAscii(query)))
- s.send("PRIVMSG %s :MSSQL: %s\r\n" % (CHAN, sqlenc.msToAscii(query)))
- except(IndexError):
- pass
- if(line[0]=="PING"):
- s.send("PONG %s\r\n" % line[1])
- ##################################################################################################
- #sqlenc enc file
- #
- #convert string to hex
- import re
- class sqlenc(object):
- def __init__(self):
- pass
- def toHex(self,string):
- result = []
- string = str(self,string)
- for i in string:
- result.append("0x"+i.encode("hex"))
- return result
- def defToHex(self,string):
- string = self.toHex(string)
- return "\\".join(string)
- def myToHex(self,string):
- string = "0x"+string.encode("hex")
- return string
- def toAscii(self,string):
- result = []
- string = str(string)
- for i in string:
- result.append(str(ord(i)))
- return result
- def myToAscii(self,string):
- string = self.toAscii(string)
- return "char("+",".join(string)+")"
- def oraToAscii(self,string):
- result = []
- string = str(string)
- for i in string:
- result.append('chr('+str(ord(i))+')')
- return "||".join(result)
- def msToAscii(self,string):
- result = []
- string = str(string)
- for i in string:
- result.append('char('+str(ord(i))+')')
- return "+".join(result)
- def hexToStr(self,string):
- result = []
- string = string.replace('/', '')
- string = string.replace('CHAR', '')
- string = string.replace('(', '')
- string = string.replace(')', '')
- string = string.replace('|', '')
- string = string.replace('chr', '')
- string = string.replace('char', '')
- string = string.replace(',', ' ')
- keys = re.findall(("0x([-\\w\\.]+)"), string)
- for i in keys:
- result.append(i.decode("hex"))
- return "".join(result)
- #a = sqlenc().myToAscii("select")
- #print a
- #print hexToStr(a)
Add Comment
Please, Sign In to add comment