Oferta SiteGround Black Friday

Riesgo de Seguridad en formularios de búsqueda de Themes WordPress

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&#91;'PHP_SELF'&#93;" ?>

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&#91;'PHP_SELF'&#93;)" ?>

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

¿De cuánta utilidad te ha parecido este contenido?

¡Haz clic en los emoticonos para valorarlo!

Promedio de puntuación 0 / 5. Total de votos: 0

Hasta ahora ¡no hay votos!. Sé el primero en valorar este contenido.

Ya que has encontrado útil este contenido...

¡Sígueme en las redes sociales!

¡Siento que este contenido no te haya sido útil!

¡Ayúdame a mejorar este contenido!

Por favor, dime, ¿cómo puedo mejorarlo?

¿Te gustó este artículo? ¡Ni te imaginas lo que te estás perdiendo en YouTube!

AVISO: Esta publicación es de hace 3 años o más. Si es un código o un plugin podría no funcionar en las últimas versiones de WordPress, y si es una noticia podría estar ya obsoleta. Luego no digas que no te hemos avisado. ¡Ah! ¿te funciona? pues entonces no he dicho nada :)

Sobre el autor

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

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

    $_SERVER[‘PHP_SELF’]

    No lo tengo asi que no me preocupo =P

  2. 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. 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.

  4. 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

  5. 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:

  6. 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.

  7. ignacio aguirre

    no tenia idea, que bueno saberlo.

    Saben de algún sitio que tenga información sobre seguridad en las plantillas?

    Saludos!

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Información base sobre privacidad:
- Responsable: Fernando Tellado ([email protected])
- Fin del tratamiento: Moderación de comentarios para evitar spam
- Legitimación: Tu consentimiento
- Comunicación de los datos: No se comunicarán los datos a terceros salvo por obligación legal
- Derechos: Acceso, rectificación, portabilidad, olvido

 

Scroll al inicio