예제 #1
0
 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)
예제 #2
0
 def clear():
     redis = GotRedis()
     redis.redis.delete("hosts")
     redis.redis.delete("req")
     redis.redis.delete("res")
예제 #3
0
 def add_target(host):
     redis = GotRedis()
     l = len(redis.redis.hkeys('hosts'))
     redis.redis.hset('hosts', l, host)
예제 #4
0
 def get_data(num):
     return GotRedis().redis.hget('req', num)
예제 #5
0
 def get_all_res():
     redis = GotRedis()
     return [
         i[1] for i in sorted(redis.redis.hgetall("res").items(),
                              key=lambda x: int(x[0]))
     ]
예제 #6
0
 def get_hosts():
     redis = GotRedis()
     return [i.decode() for i in redis.redis.hvals('hosts')]
예제 #7
0
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')