Cambiar Idioma

11 may 2013

Eliminar enlaces o Links ocultos en Joomla

Eliminar enlaces o Links ocultos en Joomla

Si eres de los que usa como gestor de contenidos Joomla , te habrás encontrado en muchas ocasiones con plantillas gratuitas que te insertan código malicioso con enlaces a otras webs sin tu permiso.
Los problemas que esto te puede ocasionar son elevados ya que suelen ser enlaces ocultos por lo que se denomina "blackhat SEO" , lo que perjudicara a la indexacion de tu sitio.

Estos enlaces se suelen encriptar en base64, voy a tratar explicar la manera de buscar y quitar estos codigos ocultos con enlaces  :

1º  Lo primero que tenemos que hacer es aprender a reconocer en el código de la web un texto encriptado en base64,  este código es muy simple de desencriptar ya que su función es solo ocultar determinado texto y no es un cifrado de seguridad , por ejemplo si quisiera encriptar un enlace a este blog se haria asi:

Código sin encriptar:
<a  href="http://alejandrotg.blogspot.com.es" rel="dofollow" title="Blog de Alejandro TG " target="_blank">Blog de Alejandro TG</a>

Codigo encriptado en base64:
 PGEgIGhyZWY9Imh0dHA6Ly9hbGVqYW5kcm90Zy5ibG9nc3BvdC5jb20uZXMiIHJlbD0iZG9mb2xsb3ciIHRpdGxlPSJCbG9nIGRlIEFsZWphbmRybyBURyAiIHRhcmdldD0iX2JsYW5rIj5CbG9nIGRlIEFsZWphbmRybyBURzwvYT4=

Y Este seria el codigo php añadiendo el codigo en base64 para que se inserte oculto:
<?php echo base64_decode("PGEgIGhyZWY9Imh0dHA6Ly9hbGVqYW5kcm90Zy5ibG9nc3BvdC5jb20uZXMiIHJlbD0iZG9mb2xsb3ciIHRpdGxlPSJCbG9nIGRlIEFsZWphbmRybyBURyAiIHRhcmdldD0iX2JsYW5rIj5CbG9nIGRlIEFsZWphbmRybyBURzwvYT4=");
?>

 Todo esto lo podéis hacer con esta herramienta on-line fantástica para codificar y decodificar entre otros en base64 . Aquí la tenéis en la web de  elhacker.net.

Como veis reconocer un código es bastante fácil ya que se necesita poner antes "base64_decode" para que la web la ponga en su código publico.

2 º Encontrar el código en cuestión , habitualmente suele estar ubicado en  la carpeta de tu joomla /templates/"nombre de tu template"/index.php  o en /templates/"nombre de tu template"/html/com_content/article/default.php , si no esta el código en ninguno de estos dos nos toca buscar , pero casi siempre esta ahí

3º Una vez encontrado podemos actuar de dos maneras:

  •  (Recomendado) Localizar el codigo y borrarlo entero  este seria el codigo a borrar en mi enlace
    <?php echo base64_decode("PGEgIGhyZWY9Imh0dHA6Ly9hbGVqYW5kcm90Zy5ibG9nc3BvdC5jb20uZXMiIHJlbD0iZG9mb2xsb3ciIHRpdGxlPSJCbG9nIGRlIEFsZWphbmRybyBURyAiIHRhcmdldD0iX2JsYW5rIj5CbG9nIGRlIEFsZWphbmRybyBURzwvYT4=");
    ?>
  •  Modificar y editar el codigo , en algunos casos si borramos dicho código la plantilla deja de funcionar , ya que lleva una validación de ese código, lo correcto seria borra también el código de esa validación , pero podemos esquivarlo editando el codigo encriptado .
    • por ejemplo el código seria este el que esta entre las "  " :  PGEgIGhyZWY9Imh0dHA6Ly9hbGVqYW5kcm90Zy5ibG9nc3BvdC5jb20uZXMiIHJlbD0iZG9mb2xsb3ciIHRpdGxlPSJCbG9nIGRlIEFsZWphbmRybyBURyAiIHRhcmdldD0iX2JsYW5rIj5CbG9nIGRlIEFsZWphbmRybyBURzwvYT4=
    • Nos vamos a la web que he puesto anteriormente  elhacker.net. y decodificamos el codigo, cambiamos lo que nos interese, textos, enlace pero a nuestra web, etc.. y lo volvemos a encriptar.  
    • Ahora solo sustituimos el código que había por el nuestro ( recordar solo el que esta entre las " " )
          Con esta ultima forma no quitamos el código pero si los enlaces y los hacemos útiles para nuestra web

Ejemplos reales de codigo mailicioso en plantilla tx_finnix :
En este caso tiene 3 códigos con links ocultos ,  habría que borrar los tres





Espero que os haya sido util ...
y si ha sido así, por favor PINCHA EN LA PUBLI QUE ME AYUDARAS .. GRACIAS

Salu2 Autor: AlejandroTg

14 comentarios:

asoldadoda dijo...

Hola. ¿Me podrían decir como se quitarían también los enlaces ocultos que no deseamos en una plantilla joomla y que se podrían ver en la vista de código .? Tal vez con el firebut de Firefox se pueda ayudar. he visto que se trataría de un style que se situaria a -5000px izquierda.

Unknown dijo...

Hola asoldadoda , eso es justo lo que se explica arriba, cero que lo que quieres decir es quitar un enlace normal, ya que si lo puedes ver en vista de código no estará oculto.

Un enlace en el código es algo parecido a esto :

< a href="tu pagina web" title="titulo del enlace">Enlace visible< /a>

Borra desde ""< a href= "" hasta "" < /a> "" así borraras todo el enlace, si tienes alguna duda pega el código de tu index.php de tu template y te podremos ayudar mas.

Salu2

asoldadoda dijo...

Hola Alejandro, de nuevo gracias por tu interés. Aqui he intentado pegar el archivo /templates/tx:finnix/html/com_content/article/default.php
NOTA: he borrado algunas lineas que contenian codigo base_64, pero puede haber quedado algun resto sin borrar.
Tambien he intentado pegar el archivo o fichero /templates/tx_finnix/index.php y me ocurre lo mismo.

En estos comentarios no se aceptan daterminadas etiquetas y tampoco más de unos 4000 caracteres aproximadamente, por lo que tendría que enviartelo a tu correo por ejemplo-

Unknown dijo...

dame tu correo y te mando un mail

Unknown dijo...

Hola asoladora, en ese template se encuentra en el fichero
/templates/tx_finnix/html/article/default.php


asoldadoda dijo...

Muy agradecido Alejandro, al fin he conseguido arreglar todo. Primero borré los caracteres de base64 en el archivo default.php mencionada.

Después borré la linea: que se encontraba en el archivo principal de la plantilla, es decir el index.php mencionado antes también.

Previa copia de seguridad, edité la página principal de la plantilla. Busqué el texto "random_key", que formaría parte de una línea que contenga algo parecido a "", y que se encuentra a la misma altura de donde luego aparece ese texto en ruso con enlaces a páginas rusas, dentro del código fuente. Borré esa línea y comprobé que ya no aparecía ese texto en ruso con enlaces (limpié la caché).

Es decir, como norma general, he buscado la función"tu_plantilla_key()", la encontré dentro de alguno de los ficheros PHP que están en la_web \templates\tu_plantilla\lib\layout, y es la que parece generar ese texto en ruso con enlaces. En mi caso estaba en /templates/tx_finnix/index.php a la altura aproximada de donde aparecian los enlaces ocultos( se pueden ver sólo en vista código)

asoldadoda dijo...

Hola, como veo que no aparece en este blog la linea que borré en el index.php, (sólo se ve las comillas entrante y saliente), intentaré insertarla aquí como sea posible:
?php $random_key = @tx_finnix_key(); ? (al principio lleva < y al final lleva >

chelo dijo...

me paso exactamente eso si borro el codigo base 64 en una imagen deja de funcionar o no muestra la imagen correctamente como se soluciona eso?

Unknown dijo...

Podrias darme tu email y la web y lo vemos

chelo dijo...

te llego mi web y email?

chelo dijo...

hola como estas sabes que me baje una plantilla de wordpress que me gustaria usarla y me encontre con base64_encode y base 64 en algunos archivos y algunas rutas de imagenes pero al eliminar esas lineas no me funciona bien el template hay algun script que haga la limpieza?

Unknown dijo...

Pon aquí que template usas y tu web para echar un vistazo

chelo dijo...

el template que quiero usar es te http://themeforest.net/item/envision-responsive-retina-multipurpose-theme/5928018
mi web es www.pcfullmf.com

Domingo Sánchez dijo...

Muchísimas gracias Alejandro TG. Llevo bastante tiempo queriendo quitar estas molestas letras de mi página y no encontraba la solución. Aparecían dos veces dentro de cada archivo que publicaba. He borrado el código que aparecía entre "base64..." que indicas del archivo default.php y todo perfecto.
Un saludo.

Publicar un comentario

Gracias por participar con mi Blog. Alejandro TG