Cuando una URL se ve así significa que está siendo reescrita. En un servidor web Apache se logra a través del archivo htaccess utilizando mod_rewrite.
Aquí hay un ejemplo de reescritura:
RewriteRule ^([a-z])-([0-9]).html$ /index.php?page=$1&id=$2 [L]
Se filtrarán todos los caracteres distintos de los definidos en la expresión regular. Se utiliza principalmente con consultas GET y proporciona cierta protección. Pero una expresión regular que no sea lo suficientemente específica podría permitir una inyección.
Aquí hay un ejemplo de reescritura vulnerable:
RewriteRule ^([a-z.*])-([0-9]).html$ /index.php?page=$1&id=$2 [L]
Las pruebas para una inyección SQL se verían así:
example.com/cate'gory/1234
Suponiendo que no existe ninguna otra forma de protección y que no se utilizan consultas parametrizadas ni se escapan correctamente las entradas, esa consulta le alertará sobre una posible inyección de SQL.