Hay un posible riesgo de seguridad que, aunque bastante documentado, no suele estar accesible al usuario casual de un blog WordPress o el que, simplemente, se concentra en usar WordPress y no se preocupa de asuntos “triviales” como la seguridad de la plantilla que utiliza.

Es un error bastante común, pero no por ello menos peligroso pues podría permitir que un cracker se infiltrara en tu sitio usando este fallo del theme WordPress.

Todo proviene de un código muy utilizado por los desarrolladores de themes que puede resultar en un ataque Cross Site Scripting (XSS), y es el uso de la variable PHP_SELF sin precederla de htmlspecialchars.

Si te encuentras que el formulario de búsqueda incluido en tu plantilla contiene algo similar a esto …

< ?php echo $_SERVER['PHP_SELF']" ?>

puedes solucionar este error, y evitar que alguien utilice esta debilidad para introducirse sin permiso en tu servidor, cambiándolo por esto otro …

< ?php echo htmlspecialchars($_SERVER['PHP_SELF'])" ?>

o mejor aún, como nos han apuntado en los comentarios varios lectores, sustituir la cadena completa por esta otra …

< ?php bloginfo('url'); ?>

Lo mas habitual es que te encuentres este tipo de código en los ficheros header.php, searchform.php, search.php o incluso 404.php. ¡Revísalos!

Vía

¿Te gustó este post? ¡Compártelo!
  • Bitacoras.com
  • TwitThis
  • Facebook
  • Meneame
  • Google Bookmarks
  • del.icio.us
  • Live
  • Technorati
  • Ping.fm
  • Wikio
  • Turn this article into a PDF!
  • E-mail this story to a friend!
  • Print this article!

También te puede interesar:

cursos formación continua

    14 comentarios en “Riesgo de Seguridad en formularios de búsqueda de Themes WordPress”

  1. Skavenger (95 comentarios) dijo:

    El problema sería con este pedacito de código, ¿no?:

    $_SERVER['PHP_SELF']

    No lo tengo asi que no me preocupo =P

  2. Mundoblog (7 comentarios) dijo:

    Fernando me da que hay un fallo en el código “bueno” que has indicado, tenía algunos blogs con plantillas que tenían el “malo” y al sustituirlo da error. Yo diría que el fallo está en que sobran unas comillas detrás del último paréntesis de la línea 2.

    Un saludo.

  3. [...] por Homotecno        Después de leer este artículo de Ayuda Wordpress me he puesto a revisar todas las plantillas que hemos traducido y he podido [...]

  4. [...] de leer este artículo de Ayuda Wordpress me he puesto a revisar todas las plantillas que hemos traducido y he podido [...]

  5. Fernando Tellado (1845 comentarios) dijo:

    Simplemente hay que añadir el htmlspecialchars

  6. Mundoblog (7 comentarios) dijo:

    Ok Fernando también es verdad, lo siento si he creado una confusión innecesaria, con añadir el htmlspecialchars y los paréntesis ya está. Si lo he comentado es porque en varias plantillas me salía el código diferente a como está en vuestro post, por si alguien se confunde.

  7. Anonimos (1 comentarios) dijo:

    Es mas recomendado

    <?php bloginfo('url'); ?>/

    Que la opcion que brindas…

    Saludos

  8. aNieto2k (16 comentarios) dijo:

    Como dice Anonimos, la opción más acertada es usar bloginfo().

    Esta función no interactua para nada con el usuario, por lo que evitamos problemas XSS así como problemas con las “nice url”.

    Saludos

  9. Fernando Tellado (1845 comentarios) dijo:

    Si que es lo mas utilizado, además. Lo apunto en el post y gracias por la aportación :)

  10. noshadow (28 comentarios) dijo:

    Como dice Anonimos, la opción más acertada es usar bloginfo().

    …que es lo que trae la plantilla por defecto del wp junto a the_search_query() ¿Ande ha salido el $_SERVER['PHP_SELF'] ese? :mrgreen:

  11. Mundoblog (7 comentarios) dijo:

    noshadow, pues yo también me lo pregunto, pero al revisar varias plantillas de las que he traducido he visto que usaban ese código “maléfico”. Sin embargo la gran mayoría por lo que he visto usan el bueno.

  12. me pondre arevisar la plantilla del blog cuanto antes esto ma ha alarmado bastante, gracias

  13. Fernando Tellado (1845 comentarios) dijo:

    @venta de cachorros: Lo mas seguro es que no tengas problema si la plantilla es relativamente reciente. Y sino siempre la puedes cambiar rápido ;)

  14. no tenia idea, que bueno saberlo.
    Saben de algún sitio que tenga información sobre seguridad en las plantillas?

    Saludos!

Escribe un Comentario

XHTML: Puedes usar estas etiquetas: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>



Subir

Expertos en WordPress
Euribor
Hardware. Software. Ocio & Multimedia. Humor. Internet. Videojuegos.Noticias
Participa en el Debate
  • ferticidio: WLW usaba en el antiguo theme, ahora como no me carga bien el estilo, y no puedo ver...
  • perionotas: Coincido contigo Fer: no odio nada, pero para mi ha resultado imposible trabajar con...
  • Mario A . Núñez: Fernando; Quise decir que me disgusta el panel de escritura. (je,je).
  • Fernando Tellado: Yo no odio nada, y menos el panel de escritura de WP, tiene cosas mejorables...
  • Mario A . Núñez: Windows Live Writer es mi editor favorito. Adoro esta aplicación con sus plugins...
Noticias Breves
  • Si quieres aprender como hacer multitud de diseños distintos para WordPress no te pierdas esta estupenda recopilación de 26 tutoriales de diseño de blogs WordPress.

    [#3]

  • Acaba de salir a la luz la nueva versión de WordPress para iPhone 1.3, con soporte completo para el firmware de iPhone 3.0. Va de cojones estupendamente. Altamente recomendable esta actualización, que tienes en iTunes.

    [#1]

  • Me avisa Kike Alonso de un nuevo plugin que permite que los comentarios que dejen tus amigos de Friendfeed al respecto de un post de tu sitio WordPress aparezcan también en tu post como comentarios normales, algo realmente interesante pues permite, con algunos clientes de escritorio e iPhone, comentar en blogs sin dejar de usar la aplicación de mensajería.

    [#6]


  • Ahora mismo en los FOROS ...
    Usuarios Registrados
  • Acceder

  • Translate this Blog
    Spanish flagItalian flagChinese (Simplified) flagPortuguese flagEnglish flagGerman flagFrench flagJapanese flagRussian flagSwedish flagCatalan flagHebrew flag                              
    By N2H