Publicado el Lunes 10 de Diciembre del 2007 @ 22:17 por Armonth.
Actualización: Masiosare apunta a que el bug ha sido descartado ya que el parámetro $p pasa por un int(). Antes me tomaba cualquier nota de BlogSecurity como “a menudo alarmista” pero después de esto y alguna otra cosa más han perdido mucha de la credibilidad que pudieran conservar para mí.
El fallo queda de momento, y a falta de un PoC que funcione correctamente, como un posible (y dudoso) problema de revelación de información.
Se ha descubierto un fallo importante en WordPress 2.3.1 que permite inyecciones SQL al añadir el parámetro &p= en una dirección de feed RSS2, el enlace ofrece como prueba de concepto:
http://localhost/path_to_wordpress/?feed=rss2&p=11/**/union/**/select/**/concat(
user_password,char(100),username),
2/**/from/**/wp_users/**/where/**/user_id=1/*
De momento no hay parche, al menos que yo sepa, la única solución pasa por usar algo tipo mod_security y reglas especificas. Se me ocurre (aunque reconozco que habría que probarlo) algo tipo:
<IfModule mod_security.c>
SecFilterEngine On
SecFilterCheckURLEncoding On
SecFilter "\?feed=rss2\&p="
Como ya digo, no estoy seguro que esto funcione, ahora mismo tengo problemas para hacer funcionar el LAMP y el tiempo muy pero que muy limitado para hacer pruebas. Se agradece cualquier tipo de corrección o solución alternativa.
La vulnerabilidad no es tal. Se retiro este anuncio porque el parametro $p pasa por un (int) convirtiéndolo en entero, por lo que no se puede explotar.
Yo lo probé y no pareció funcionar, sin decir que el id de mis usuarios es 1, y el prefix no es el por defecto.
cachis, pense que iba a tener que liarla arreglando mi primer bug…xD bueno sera por bugs
Buene deje un comentario por aqui, creo que no paso los filtros y se fue directito a Spam…
Si lo encuentras por ahi, editame este comment armonth y pon ese…
En resumen decia casi lo mismo que:
http://www.buayacorp.com/archivos/inyeccion-de-sql-en-wordpress/#comment-25339
Saludos