예제 #1
0
def batch_work(args):
    if args.METHOD not in ['verify', 'exploit']:
        logger.error('Error method, please check out...')
        sys.exit()

    if args.PROXY:
        init_proxy(args.PROXY)

    if args.poc != 'all':
        poc = import_module_with_path(args.poc)
        funcs = (poc.__name__, (poc.MyPoc.verify if args.METHOD == 'verify'
                                else poc.MyPoc.exploit))
        outfile = 'batch_%s_result_' % args.METHOD + os.path.splitext(
            os.path.basename(args.poc))[0] + '.txt'

        logger.info('Batch startting with "%s"' %
                    ('verify' if args.METHOD == 'verify' else 'exploit'))
        start_time = time.time()
        bt = BatchTest(seed_file=args.targets,
                       funcs2run=funcs,
                       result_file=outfile,
                       thread_num=args.THREADS,
                       verbose=False)

        bt.start(norm_target_func=normalize_url)
        logger.info('total number: %d, success number: %d, failed number: %d' %
                    (bt.total_num, bt.success_num,
                     (bt.total_num - bt.success_num)))
        logger.info('cost %f seconds.' % (time.time() - start_time))
    else:
        # Add
        path = args.MODULE_DIR
        module_path = _default_module_path if not path else os.path.expanduser(
            path)
        pocs = import_all_modules_with_dirname(module_path)
        funcs = [(poc.__name__, poc.MyPoc.verify
                  if args.METHOD == 'verify' else poc.MyPoc.exploit)
                 for poc in pocs]
        outfile = 'batch_%s_result_all' % args.METHOD + '.txt'

        logger.info('Batch all startting with "%s"' %
                    ('verify' if args.METHOD == 'verify' else 'exploit'))

        start_time = time.time()
        bt = BatchTest(seed_file=args.targets,
                       funcs2run=funcs,
                       result_file=outfile,
                       thread_num=args.THREADS,
                       verbose=False)

        bt.start(norm_target_func=normalize_url)
        logger.info('total number: %d, success number: %d, failed number: %d' %
                    (bt.total_num, bt.success_num,
                     (bt.total_num - bt.success_num)))
        logger.info('cost %f seconds.' % (time.time() - start_time))
예제 #2
0
파일: batch.py 프로젝트: LinLL/BeeCli
def batch_work(args):
    if args.METHOD not in ['verify', 'exploit']:
        logger.error('Error method, please check out...')
        sys.exit()

    if args.PROXY:
        init_proxy(args.PROXY)

    if args.poc != 'all':
        poc = import_module_with_path(args.poc)
        funcs = (poc.__name__, (poc.MyPoc.verify if args.METHOD == 'verify' else poc.MyPoc.exploit))
        outfile = 'batch_%s_result_' % args.METHOD + os.path.splitext(os.path.basename(args.poc))[0] + '.txt'

        logger.info('Batch startting with "%s"' % ('verify' if args.METHOD == 'verify' else 'exploit'))
        start_time = time.time()
        bt = BatchTest(seed_file=args.targets,
                       funcs2run=funcs,
                       result_file=outfile,
                       thread_num=args.THREADS,
                       verbose=False)

        bt.start(norm_target_func=normalize_url)
        logger.info('total number: %d, success number: %d, failed number: %d'
                    % (bt.total_num, bt.success_num, (bt.total_num - bt.success_num)))
        logger.info('cost %f seconds.' % (time.time() - start_time))
    else:
        # Add
        path = args.MODULE_DIR
        module_path = _default_module_path if not path else os.path.expanduser(path)
        pocs = import_all_modules_with_dirname(module_path)
        funcs = [(poc.__name__, poc.MyPoc.verify if args.METHOD == 'verify' else poc.MyPoc.exploit) for poc in pocs]
        outfile = 'batch_%s_result_all' % args.METHOD + '.txt'

        logger.info('Batch all startting with "%s"' % ('verify' if args.METHOD == 'verify' else 'exploit'))

        start_time = time.time()
        bt = BatchTest(seed_file=args.targets,
                       funcs2run=funcs,
                       result_file=outfile,
                       thread_num=args.THREADS,
                       verbose=False)

        bt.start(norm_target_func=normalize_url)
        logger.info('total number: %d, success number: %d, failed number: %d'
                    % (bt.total_num, bt.success_num, (bt.total_num - bt.success_num)))
        logger.info('cost %f seconds.' % (time.time() - start_time))
예제 #3
0
    def _load_all_modules(self):
        pocs = import_all_modules_with_dirname(self._module_path)

        self._modules = [(poc.__name__, poc) for poc in pocs]
예제 #4
0
파일: search.py 프로젝트: LinLL/BeeCli
    def _load_all_modules(self):
        pocs = import_all_modules_with_dirname(self._module_path)

        self._modules = [(poc.__name__, poc) for poc in pocs]