File: test_payload.py

package info (click to toggle)
wfuzz 3.1.0-6
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 2,648 kB
  • sloc: python: 13,161; makefile: 59; sh: 4
file content (113 lines) | stat: -rw-r--r-- 3,468 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
import pytest
import wfuzz


@pytest.mark.parametrize(
    "params, expected_result",
    [
        (
            {
                "iterator": "zip",
                "payloads": [
                    ("range", {"default": "0-2", "encoder": None}, None),
                    ("range", {"default": "0-2", "encoder": None}, None),
                ],
            },
            [("0", "0"), ("1", "1"), ("2", "2")],
        ),
        (
            {
                "iterator": "chain",
                "payloads": [
                    ("range", {"default": "0-2", "encoder": None}, None),
                    ("range", {"default": "0-2", "encoder": None}, None),
                ],
            },
            [("0",), ("0",), ("1",), ("1",), ("2",), ("2",)],
        ),
        (
            {
                "iterator": "product",
                "payloads": [
                    ("range", {"default": "0-2", "encoder": None}, None),
                    ("range", {"default": "0-2", "encoder": None}, None),
                ],
            },
            [
                ("0", "0"),
                ("0", "1"),
                ("0", "2"),
                ("1", "0"),
                ("1", "1"),
                ("1", "2"),
                ("2", "0"),
                ("2", "1"),
                ("2", "2"),
            ],
        ),
        (
            {"payloads": [("range", {"default": "0-4", "encoder": None}, None)]},
            [("0",), ("1",), ("2",), ("3",), ("4",)],
        ),
        (
            {
                "payloads": [
                    ("buffer_overflow", {"default": "10", "encoder": None}, None)
                ]
            },
            [("AAAAAAAAAA",)],
        ),
        (
            {"payloads": [("hexrange", {"default": "09-10", "encoder": None}, None)]},
            [("09",), ("0a",), ("0b",), ("0c",), ("0d",), ("0e",), ("0f",), ("10",)],
        ),
        (
            {"payloads": [("hexrange", {"default": "009-00B", "encoder": None}, None)]},
            [("009",), ("00a",), ("00b",)],
        ),
        (
            {
                "payloads": [
                    ("ipnet", {"default": "192.168.0.1/30", "encoder": None}, None)
                ]
            },
            [("192.168.0.1",), ("192.168.0.2",)],
        ),
        (
            {
                "payloads": [
                    (
                        "iprange",
                        {"default": "192.168.0.1-192.168.0.2", "encoder": None},
                        None,
                    )
                ]
            },
            [("192.168.0.1",), ("192.168.0.2",)],
        ),
        (
            {"payloads": [("list", {"default": "a-b", "encoder": None}, None)]},
            [("a",), ("b",)],
        ),
        (
            {"payloads": [("list", {"default": "a\\-b-b", "encoder": None}, None)]},
            [("a-b",), ("b",)],
        ),
        (
            {"payloads": [("range", {"default": "1-2", "encoder": None}, None)]},
            [("1",), ("2",)],
        ),
    ],
)
def test_payload_iterator(params, expected_result):
    assert sorted(list(wfuzz.payload(**params))) == sorted(expected_result)


@pytest.mark.parametrize(
    "payload, expected_result",
    [(range(4), [0, 1, 2, 3]), ([list(range(2)), list(range(2))], [[0, 1], [0, 1]])],
)
def test_get_payload(payload, expected_result):
    assert sorted(wfuzz.get_payload(payload).data.get("dictio")[0]) == sorted(
        expected_result
    )