26 lines
908 B
YAML
26 lines
908 B
YAML
type: leaky
|
|
#requires at least 2.0 because it's using the 'data' section and the 'Upper' expr helper
|
|
format: 2.0
|
|
name: crowdsecurity/http-xss-probbing
|
|
data:
|
|
- source_url: https://raw.githubusercontent.com/crowdsecurity/sec-lists/master/web/xss_probe_patterns.txt
|
|
dest_file: xss_probe_patterns.txt
|
|
type: string
|
|
description: "A scenario that detects XSS probing with minimal false positives"
|
|
filter: "evt.Meta.log_type in ['http_access-log', 'http_error-log'] && any(File('xss_probe_patterns.txt'), {Upper(evt.Parsed.http_args) contains Upper(#)})"
|
|
groupby: evt.Meta.source_ip
|
|
capacity: 5
|
|
leakspeed: 1s
|
|
blackhole: 5m
|
|
#low false positives approach : we require distinct payloads to avoid false positives
|
|
distinct: evt.Parsed.http_args
|
|
labels:
|
|
remediation: true
|
|
classification:
|
|
- attack.T1595.002
|
|
behavior: "http:exploit"
|
|
label: "XSS Attempt"
|
|
spoofable: 0
|
|
service: http
|
|
confidence: 3
|