Tainted flow: 'url' from requests.post (line 555, network input) → requests.get (network output)
Medium
- Category
- Data Flow
- Content
def _get(self, path, params=None): """GET 请求封装""" url = f'{self.kb_server}{path}' resp = requests.get(url, params=params or {}, headers=self._headers()) return self._parse_response(resp) def _post(self, path, data=None, params=None):- Confidence
- 90% confidence
- Finding
- The request URL is built from self.kb_server, which is obtained from the login response and not validated against an allowlist or expected origin. If the auth response or configuration is tampered with, subsequent authenticated GETs can be redirected to an attacker-controlled host, leaking the X-Wiz-Token and enabling SSRF-style outbound access.
