Coverage for graphqler / fuzzer / engine / detectors / xss_injection / xss_injection_materializer.py: 59%
17 statements
« prev ^ index » next coverage.py v7.13.4, created at 2026-03-18 23:20 -0400
« prev ^ index » next coverage.py v7.13.4, created at 2026-03-18 23:20 -0400
1from ...materializers.injection_materializer import InjectionMaterializer
2from graphqler.utils.api import API
3from ...materializers.getter import Getter
5from typing import override
8# The main class that's being used
9class XSSInjectionMaterializer(InjectionMaterializer):
10 def __init__(self, api: API, fail_on_hard_dependency_not_met: bool = False, max_depth: int = 20):
11 super().__init__(api, fail_on_hard_dependency_not_met)
12 self.api = api
13 self.fail_on_hard_dependency_not_met = fail_on_hard_dependency_not_met
14 self.max_depth = max_depth
15 self.getter = XSSInjectionGetter()
18# Override the getters class to add custom getters for SQL injection
19class XSSInjectionGetter(Getter):
20 def __init__(self):
21 super().__init__()
23 @override
24 def get_random_string(self, input_name: str) -> str:
25 return '"<script>alert(1)</script>"'