Skip to content

Attack Signature Reference

Complete list of attack patterns detected by WebDecoy.


WebDecoy scans the request bodies captured by endpoint decoys for known attack patterns. A body is scanned when the endpoint has Capture Request Bodies turned on and the request is not a GET or HEAD. Query strings, headers and cookies are not scanned.

When a pattern matches, the signature name is added to the detection’s metadata.attack_signatures list, it raises the detection’s Attack Signatures score component, and the detection is classified as attacker. Each signature type is reported once per request, however many of its patterns match.


Signature: sql_injection

Pattern Example
Quoted OR/AND tautology ' OR '1'='1
UNION SELECT UNION SELECT * FROM users
Stacked destructive statement '; DROP TABLE users
Time-based blind WAITFOR DELAY '0:0:5', SLEEP(5), BENCHMARK(
Trailing comment admin'--
Inline comment /* ... */
SQL Server procedures xp_cmdshell, sp_executesql

50 component points


Signature: command_injection

Pattern Example
Command chaining ; whoami
Pipe injection | cat /etc/passwd
Backtick execution `whoami`
Subshell $(cat /etc/passwd)
Download and pipe ; curl http://... |
Shell invocation bash -c, /bin/sh
Template expression ${...}
eval call eval(

The chaining, pipe, backtick and subshell patterns match the commands cat, ls, id, whoami, pwd and uname.

60 component points


Signature: xss

Pattern Example
Script tags <script>alert('xss')</script>
Image error handler <img src=x onerror="alert('xss')">
SVG load handler <svg onload="alert('xss')">
Iframes <iframe src=...>
JavaScript URIs javascript:alert('xss')
Data URIs data:text/html,<script>...
Event handler attributes onerror=, onload=, onclick=, onmouseover=, onfocus=
CSS expressions expression(

40 component points


Signature: path_traversal

Pattern Example
Dot-dot-slash ../../../etc/passwd
Dot-dot-backslash ..\..\windows
Encoded traversal %2e%2e%2f, %2e%2e%5c
Double encoding %252e%252e%252f
Overlong UTF-8 ..%c0%af, ..%c1%9c
Sensitive Unix files /etc/passwd, /etc/shadow
Windows paths c:\windows, c:\boot.ini

50 component points


Signature: mass_assignment

Checked only when the request’s Content-Type is application/json.

Pattern Example
Role escalation "role": "admin"
Admin flags "isAdmin": true, "is_admin": true, "admin": true
Permission lists "permissions": [
User type "user_type": "administrator"
Privilege fields "privilege":, "access_level":

45 component points


Signature: xxe

Checked only when the request’s Content-Type contains xml.

Pattern Example
DOCTYPE with entity declaration <!DOCTYPE foo [<!ENTITY ...
SYSTEM reference to a file or URL <!ENTITY xxe SYSTEM "file:///etc/passwd">

55 component points


Signatures: php_serialization, java_serialization

Signature Pattern
php_serialization Body contains a PHP serialized object (O: together with :{)
java_serialization Body starts with rO0AB (base64 Java serialization header)

60 component points each


Signatures are recorded as a list of names in the detection’s metadata. The captured body is stored alongside them (truncated to 10 KB). Illustrative example (real field names):

{
"source": "endpoint",
"threat_category": "attacker",
"metadata": {
"path": "/api/v1/admin/users",
"request_method": "POST",
"request_body": "{\"comment\": \"<script>alert(1)</script>\", \"password\": \"' OR '1'='1\"}",
"attack_signatures": ["sql_injection", "xss"]
},
"score_components": {
"attack_signature_score": 100
}
}

The detection’s MITRE tactic comes from the decoy path, not from the signatures. See MITRE ATT&CK Tactics.


When several attack types are detected in a single request:

  • Each signature adds its component points
  • Each additional signature type adds a further 20 points
  • The Attack Signatures component is capped at 100

The component is one weighted input to the 0-100 unified threat score. See Threat Scoring.