def save_req_res(req, req_body, res, res_body): req_data = "%s %s %s\r\n%s" % (req.command, req.path, req.request_version, req.headers) if req_body: req_data += "\r\n\r\n%s" % req_body.decode() # req_header_text = "%s %s %s\n%s" % (req.command, req.path, req.request_version, req.headers) res_data = "%s %d %s\r\n%s" % (res.response_version, res.status, res.reason, res.headers) if res_body: content_type = res.headers.get('Content-Type', '') encoding = content_type.split("charset=") if len(encoding) == 2: encoding = encoding[1] else: encoding = 'utf-8' res_data += "\r\n\r\n%s" % res_body.decode(encoding, 'ignore') print(req_data) redis = GotRedis() l = len(redis.redis.hkeys('req')) redis.redis.hset('req', l, req_data) redis.redis.hset('res', l, res_data)
def clear(): redis = GotRedis() redis.redis.delete("hosts") redis.redis.delete("req") redis.redis.delete("res")
def add_target(host): redis = GotRedis() l = len(redis.redis.hkeys('hosts')) redis.redis.hset('hosts', l, host)
def get_data(num): return GotRedis().redis.hget('req', num)
def get_all_res(): redis = GotRedis() return [ i[1] for i in sorted(redis.redis.hgetall("res").items(), key=lambda x: int(x[0])) ]
def get_hosts(): redis = GotRedis() return [i.decode() for i in redis.redis.hvals('hosts')]
import os, sys from importlib import util from qlib.data.sql import SqlEngine from qlib.data import GotRedis # some shortcut . let it easy. J = os.path.join ENV = os.getenv redis = GotRedis() DB_PATH = J(ENV('HOME'), '.hacker_cmds') DB_Handler = SqlEngine(database=DB_PATH) if 'templates' not in [i[0] for i in DB_Handler.table_list()]: DB_Handler.create('templates', cmd=str, keys='target', group_key='comba', output='default.log') # ETC_FILE = J('/usr/local/etc/', 'hack.') OUTPUT_DIR = '/tmp/HackerOutput/' ROOT_DIR = list(util.find_spec("Hacker").submodule_search_locations).pop() RES = J(ROOT_DIR, 'res') TEMPLATE_PATH = J(J(ROOT_DIR, 'ini'), 'TEMPLATES.py') MODULE_PATH = J( list(util.find_spec("Hacker").submodule_search_locations).pop(), 'modules')