Modsecurity: Hash Tokens gegen URL Manipulationen

In dem Buch "The Web Application Defener's Cookbook: Battling Hackers and Protecting Users" wird im "Recipe 1-2" eine Methode zum Einsatz von Hash Tokens beschrieben. Das ganze hört sich ganz nett an ist aber in dieser Form nicht ready for prime time.

Zum einen sind die Informationen im Buch und auch in den bereitgestellten Downloads nicht korrekt. Die Paramenter sind inzwischen geändert worden und somit sind die dargestellten Beispiele nicht richtig. Das man das Buch nicht mehr ändern kann verstehe ich. Warum die Downloads nicht korrigiert werden finde ich nicht angemessen.

Hier die korrekten Beispiele.

SecContentInjection On
SecStreamOutBodyInspection On
SecHashEngine On
SecHashKey rand keyOnly
SecHashParam rv_token
SecHashMethodrx "HashHref" "[a-zA-Z0-9]"
SecRule REQUEST_URI "@validateHash [a-zA-Z0-9]" "phase:2,id:1000,t:none,block,msg:'Request Validation Violation.',ctl:HashEnforcement=On"

Generell ist zu sagen das der hier vorgestellte Ansatz die URLs mittels dieses einfachen regulären Ausdrucks zu erkennen so nicht ausreichend ist. Damit das Ganze auch bei komplexeren URLs oder Eingabefeldern funktioniert muss man die Webanwendungen deutlich genauer analysieren.

So jeden Fall ist das nicht zu gebrauche und verdient den nahmen "Rezept" auf keinen Fall.