Mentre cercavo di capire alcune linee di regole SNORT, mi sono imbattuto nella seguente sintassi che non riuscivo a capire. Non ho trovato alcuna descrizione nel manuale (anche se devo ammettere che non l'ho ancora letto completamente).
Due esempi con le parti in questione evidenziate.
From sid:17166
pcre:"/(?P<var>\w+)\x2Ereplace\x28\s*(?P=var)\s*\x2C\s*(?P=var)\s*\x29/";
: ^^^^^^^^^^^^ ^^^^^^^^
From sid:29503
pcre:"/removeChild\((?<element>\w{1,20})\).*(?P=element)\.getCharNumAtPosition/smi";
: ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^
Sembra che la parte "?" sia collegata a quest'ultimo uso del nome "? P = nome". Ma non è coerente (come si vede nei due casi sopra).
Riferimenti sid:. 17166; riferimento: Bugtraq, 36343; di riferimento: CVE, 2009-3075; sid: 29503; riferimento: Bugtraq, 49213; riferimento: cve, 2011-0084; di riferimento: url, osvdb.org / mostra / OSVDB / 74.581;