Example #1
0
def new_scan():
    """
    new scan through the API

    Returns:
        a JSON message with scan details if success otherwise a JSON error
    """
    _start_scan_config = {}
    __api_key_check(app, flask_request, __language())
    targetValue = __get_value(flask_request, "targets")
    if (target_type(targetValue) == "UNKNOWN"):
        return jsonify({"error": "Please input correct target"}), 400
    for key in _core_default_config():
        if __get_value(flask_request, key) is not None:
            _start_scan_config[key] = escape(__get_value(flask_request, key))
    _start_scan_config["backup_ports"] = __get_value(flask_request, "ports")
    _start_scan_config = __rules(
        __remove_non_api_keys(
            _builder(_start_scan_config,
                     _builder(_core_config(), _core_default_config()))),
        _core_default_config(), __language())
    _p = multiprocessing.Process(target=__scan, args=[_start_scan_config])
    _p.start()
    # Sometimes method_args is too big!
    _start_scan_config["methods_args"] = {"as_user_set": "set_successfully"}
    return jsonify(_start_scan_config), 200
Example #2
0
def new_scan():
    _start_scan_config = {}
    language = app.config["OWASP_NETTACKER_CONFIG"]["language"]
    __api_key_check(app, flask_request, language)
    for key in _core_default_config():
        if __get_value(flask_request, key) is not None:
            _start_scan_config[key] = __get_value(flask_request, key)
    _start_scan_config = __rules(__remove_non_api_keys(_builder(_start_scan_config,
                                                                _builder(_core_config(), _core_default_config()))),
                                 _core_default_config(), language)
    scan_id = "".join(random.choice("0123456789abcdef") for x in range(32))
    scan_cmd = messages(language, 158)
    _start_scan_config["scan_id"] = scan_id
    p = multiprocessing.Process(target=__scan, args=[_start_scan_config, scan_id, scan_cmd])
    p.start()
    return jsonify(_start_scan_config)
Example #3
0
def new_scan():
    _start_scan_config = {}
    __api_key_check(app, flask_request, __language())
    for key in _core_default_config():
        if __get_value(flask_request, key) is not None:
            _start_scan_config[key] = __get_value(flask_request, key)
    _start_scan_config["backup_ports"] = __get_value(flask_request, "ports")
    _start_scan_config = __rules(
        __remove_non_api_keys(
            _builder(_start_scan_config,
                     _builder(_core_config(), _core_default_config()))),
        _core_default_config(), __language())
    p = multiprocessing.Process(target=__scan, args=[_start_scan_config])
    p.start()
    # Sometimes method_args is too big!
    _start_scan_config["methods_args"] = {"as_user_set": "set_successfully"}
    return jsonify(_start_scan_config), 200