Quando un URL appare come questo significa che è stato riscritto. Su un webserver Apache è realizzato tramite il file htaccess usando mod_rewrite.
Ecco un esempio di riscrittura:
RewriteRule ^([a-z])-([0-9]).html$ /index.php?page=$1&id=$2 [L]
Tutti i caratteri diversi da quelli definiti nell'espressione regolare verranno filtrati. Viene utilizzato principalmente con le query GET e fornisce una certa protezione. Ma un'espressione regolare che non è abbastanza specifica potrebbe consentire un'iniezione.
Ecco un esempio di riscrittura vulnerabile:
RewriteRule ^([a-z.*])-([0-9]).html$ /index.php?page=$1&id=$2 [L]
Il test per un'iniezione SQL sarebbe simile a questo:
example.com/cate'gory/1234
Assumendo nessun'altra forma di protezione e non usando query parametrizzate o input di escape appropriati, quella query ti avviserà di una possibile iniezione SQL.