def fuzz(data):
    """Fuzz the payload."""
    rdg = RandomPayloadGenerator()
    new_key = rdg.generate_random_key_for_dict(data)
    new_data = rdg.generate_random_payload(restrict_types=(list, dict))
    print(new_key)
    print(new_data)
示例#2
0
def add_items_one_iter(original_payload, how_many):
    """Add new items into the original payload, produce new one."""
    # deep copy
    new_payload = copy.deepcopy(original_payload)
    rpg = RandomPayloadGenerator()

    for i in range(how_many):
        new_key = rpg.generate_random_key_for_dict(new_payload)
        new_value = rpg.generate_random_payload()
        new_payload[new_key] = new_value

    # generate output with the updated payload
    generate_output(new_payload)
def mutate_items_one_iteration(original_payload, how_many):
    """One iteration of algorithm to mutate items in original payload."""
    # Perform deep copy of original payload.
    new_payload = copy.deepcopy(original_payload)
    rpg = RandomPayloadGenerator()

    for i in range(how_many):
        selected_key = random.choice(list(original_payload.keys()))
        new_value = rpg.generate_random_payload()
        new_payload[selected_key] = new_value

    filename = filename_mutated_items()
    generate_output(filename, new_payload)
def add_items_one_iter(original_payload, how_many):
    """One iteration of algorithm to add items into original payload."""
    # Perform deep copy of original payload.
    new_payload = copy.deepcopy(original_payload)
    rpg = RandomPayloadGenerator()

    for i in range(how_many):
        new_key = rpg.generate_random_key_for_dict(new_payload)
        new_value = rpg.generate_random_payload()
        new_payload[new_key] = new_value

    filename = filename_added_items()
    generate_output(filename, new_payload)
示例#5
0
def change_items_one_iteration(original_payload, how_many):
    """Change items in the original payload, produce new one."""
    # deep copy
    new_payload = copy.deepcopy(original_payload)
    rpg = RandomPayloadGenerator()

    # try to change how_many items in the payload
    for i in range(how_many):
        selected_key = random.choice(list(original_payload.keys()))
        new_value = rpg.generate_random_payload()
        # update data in payload
        new_payload[selected_key] = new_value

    # generate output with the updated payload
    generate_output(new_payload)
def run_tests_with_changed_items_one_iteration(url, http_method, dry_run,
                                               original_payload, cfg,
                                               expected_status, how_many, test,
                                               results):
    """One iteration for the run_tests_with_changed_items()."""
    with log.indent():
        # deep copy
        new_payload = copy.deepcopy(original_payload)
        rpg = RandomPayloadGenerator()

        for i in range(0, how_many):
            log.info("Changing item #{n} in the payload".format(n=i))
            selected_key = random.choice(list(original_payload.keys()))
            new_value = rpg.generate_random_payload()
            new_payload[selected_key] = new_value
        perform_test(url, http_method, dry_run, new_payload, cfg,
                     expected_status, test, results)
def run_tests_with_added_items_one_iteration(url, http_method, dry_run,
                                             original_payload, cfg,
                                             expected_status, how_many, test,
                                             results):
    """One iteration for the run_tests_with_added_items()."""
    with log.indent():
        # deep copy
        new_payload = copy.deepcopy(original_payload)
        rpg = RandomPayloadGenerator()

        for i in range(how_many):
            log.info("Adding item #{n} into the payload".format(n=i))
            new_key = rpg.generate_random_key_for_dict(new_payload)
            new_value = rpg.generate_random_payload()
            new_payload[new_key] = new_value
        perform_test(url, http_method, dry_run, new_payload, cfg,
                     expected_status, test, results)