Webserver GET requests containing XSS-related payload strings

Finds likely XSS injection attempts in webserver GET requests by matching script, tag, and JS payload strings while excluding 404s.

FreeReviewedSigma · High · v2
Category
webserver
Author
Saw Win Naung, Nasreddine Bencherchali (SigmaHQ), DRL 1.1
Published
2021-08-15
Updated
2026-07-31
title: Webserver GET requests containing XSS-related payload strings
id: 95095461-3c9a-413f-a654-1df90c7fad39
status: test
description: This rule flags webserver access log entries for GET requests that include common XSS injection patterns such as encoded and double-encoded <script>, <iframe>, <svg> payloads and JavaScript event handlers or alert invocations. Attackers often use these crafted strings in query parameters to trigger script execution in other users’ browsers. The detection relies on HTTP method, matched keyword substrings, and excludes events with a 404 status.
references:
  - https://github.com/payloadbox/xss-payload-list
  - https://portswigger.net/web-security/cross-site-scripting/contexts
  - https://github.com/SigmaHQ/sigma/blob/master/rules/web/webserver_generic/web_xss_in_access_logs.yml
author: Saw Win Naung, Nasreddine Bencherchali, Huntrule Team
date: 2021-08-15
modified: 2022-06-14
tags:
  - attack.initial-access
  - attack.t1189
logsource:
  category: webserver
detection:
  select_method:
    cs-method: GET
  keywords:
    - =<script>
    - =%3Cscript%3E
    - =%253Cscript%253E
    - "<iframe "
    - "%3Ciframe "
    - "<svg "
    - "%3Csvg "
    - document.cookie
    - document.domain
    - " onerror="
    - " onresize="
    - ' onload="'
    - onmouseover=
    - ${alert
    - javascript:alert
    - javascript%3Aalert
  filter:
    sc-status: 404
  condition: select_method and keywords and not filter
falsepositives:
  - JavaScripts,CSS Files and PNG files
  - User searches in search boxes of the respective website
  - Internal vulnerability scanners can cause some serious FPs when used, if you experience a lot of FPs due to this think of adding more filters such as "User Agent" strings and more response codes
level: high
license: DRL-1.1
related:
  - id: 65354b83-a2ea-4ea6-8414-3ab38be0d409
    type: derived