Filtrar inyecciones SQL y XSS con Mod_Rewrite en Apache

Revisando un servidor me encontré con la siguientes reglas para el módulo ModRewrite de apache, que nos ayudan a filtrar las URLs potencialmente maliciosas. Este codigo nos va a ayudar a proteger el servidor de las aplicaciones que tengan fallas de seguridad.

PRE0

Nos protegerá de ataques XSS y SQL Injection. Este script podría afectar el funcionamiento de algunas aplicaciones.

Comentarios (4)

miguelwill
Genial
creo que habia visto un par de esas reglas anteriormente, igual las guardare por si las moscas :D

saludos
seth
Y se que sabes que se puede bypasser pero estaba aburrido y lo hice igual:

# Block out any script trying to set a mosConfig value through the URL
RewriteCond %{QUERY_STRING} mosConfig_[a-zA-Z_]{1,21}(=|\%3D) [OR]

# Block out any script trying to base64_encode crap to send via URL
RewriteCond %{QUERY_STRING} base64_encode.*\(.*\) [OR]
#Bypass: $a='base6'.'4_encode'; echo $$a(1234);

# Block out any script that includes a tag in URL
RewriteCond %{QUERY_STRING} (\|%3E) [NC,OR]
#Bypass:

# Block out any script trying to set a PHP GLOBALS variable via URL
RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
#Bypass: $GLOBALS=((3))

# Block out any script trying to modify a _REQUEST variable via URL
RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})
#Bypass: $_REQUEST =2


no se que hace mosconfig y ni ganas de fijarme pero de ultima se usa eval
seth
Se rompió http://pastebin.com/DHTfS57B
Zerial
seth: Ben tip! Bueno, al menos es un filtro mas, se puede bypasear pero por te da mas trabajo y no cualquiera lo haria ;)

Deja un comentario