Hoy les quiero hacer un breve post sobre los Bookmarklets o los marcadores con JavaScript, para ello quiero poner tal cual la definición de Wikipedia ya que el término Bookmarklet se ha viciado y tomado otros significados (como plugins de web, add-ons, etc...):
"Un bookmarklet es un marcador que, en lugar de apuntar a una dirección URL, hace referencia a una pequeña porción de código JavaScript para ejecutar ciertas tareas automáticamente."
Así que les pondré algunos Bookmarkles que a mi me han sido bastante útiles en la búsqueda de cualquier tipo de vulnerabilidades en webs, de ahora en adelante asumiré que saben como añadir un marcador, así que prosigo:
1.- Lista todos los links en una ventana popUp (Demo): Este es mi preferido, ya que siempre es tedioso buscar link por link en busca de algún posible SQLi, con esto se listan fácilmente los links en un popUp y se puede buscar rápidamente links sospechosos.
javascript:WN7z=open('','Z6','width=600,height=200,scrollbars,resizable,menubar');DL5e=document.links;with(WN7z.document){write('<base%20target=_blank>');for(lKi=0;lKi<DL5e.length;lKi++){write(DL5e[lKi].toString().link(DL5e[lKi])+'<br><br>')};void(close())}
2.- Muestra los scripts incorporados en el sitio (Demo): Se listan y abren los scripts en una nueva ventana. Es muy útil para analizar de forma ordenada los diferentes scripts incorporados en las webs.
javascript:s=document.getElementsByTagName('SCRIPT');%20d=window.open().document;%20/*140681*/d.open();d.close();%20b=d.body;%20function%20trim(s){return%20s.replace(/^\s*\n/,%20'').replace(/\s*$/,%20'');%20};%20function%20add(h){b.appendChild(h);}%20function%20makeTag(t){return%20d.createElement(t);}%20function%20makeText(tag,text){t=makeTag(tag);t.appendChild(d.createTextNode(text));%20return%20t;}%20add(makeText('style',%20'iframe{width:100%;height:18em;border:1px%20solid;'));%20add(makeText('h3',%20d.title='Scripts%20in%20'%20+%20location.href));%20for(i=0;%20i<s.length;%20++i)%20{%20if%20(s[i].src)%20{%20add(makeText('h4','script%20src="'%20+%20s[i].src%20+%20'"'));%20iframe=makeTag('iframe');%20iframe.src=s[i].src;%20add(iframe);%20}%20else%20{%20add(makeText('h4','Inline%20script'));%20add(makeText('pre',%20trim(s[i].innerHTML)));%20}%20}%20void%200
3.- Muesta todas la variables y funciones en JavaScript del sitio (Demo): Muy útil para hacer un análisis de scripts en JavaScript insertos en la web y que tengan posibles errores de programación o fuga de información.
javascript:(function(){var%20a={},b=[],i,e,c,k,d,s="<table%20border=1><thead><tr><th>#</th><th>Tag</th><th>className</th></tr></thead>";for(i=0;e=document.getElementsByTagName("*")[i];++i)if(c=e.className){k=e.tagName+"."+c;a[k]=a[k]?a[k]+1:1;}for(k%20in%20a)b.push([k,a[k]]);b.sort();for(i%20in%20b)%20s+="<tr><td>"+b[i][1]+"</td><td>"+b[i][0].split(".").join("</td><td>")+"</td></tr>";s+="</table>";d=open().document;d.write(s);d.close();})()
4.- Muestra las Contraseñas detrás de los asteriscos (Demo): Este es un script para poder ver la contraseña detrás de los asteriscos, suele ser útil cuando están guardadas las contraseñas en el navegador.
javascript:(function(){var s,F,j,f,i; s = ""; F = document.forms; for(j=0; j<F.length; ++j) { f = F[j]; for (i=0; i<f.length; ++i) { if (f[i].type.toLowerCase() == "password") s += f[i].value + "\n"; } } if (s) alert("Pass:\n\n" + s); else alert("No Pass");})();
5.- Busca la web en el cache de Google (Demo): A mi me ha sido muy útil en ocasiones que el sitio está fuera de servicio y lo único que necesito es sacar un link del sitio, o cuando el administrador del sitio borro información importante, siempre se puede contar con que el gran Google guardó el web site.
javascript: (function(){%20document.location.href='http://www.google.com/search?q=cache:'+escape(document.location.href)%20})();
6.- Busca con Google palabras en sitios (Demo): Este script nos ayuda a el famoso Google Hacking, para buscar posibles fuga de información, ficheros peligros, shells, etc...
javascript: (function(){%20p=prompt('Search%20term:','');%20if(p){%20document.location.href='http://www.google.com/search?q=site:'+document.location.href.split('/')[2]+'%20'+escape(p)}%20})();
7.- Muestra la Cookie (Demo): Este nos sirve para saber si un sitio nos deja algún tipo de Cookie y también nos la muestra para poder hacerle un análisis.
javascript:alert(document.cookie);
Bueno... Aquí pondré unos que no tienen que ver mucho con PenTest, pero que igual les puede ser útil :)
8.- Editar Web (Demo): Nos permite editar la web localmente de forma que podemos hacernos pasar por hacker mostrando un website editado por uno mismo. Una vez me fue útil también ya que tenia que imprimir un certificado en formato web que no tenia, use el de un compañero editado con esto.
javascript: document.body.contentEditable='true'; document.designMode='on'; void 0
9.- Cambia el sombreado de los elementos (Demo): Lo que hace es simplemente cambiar el sombreado y color para poder ver la estructura del sitio, destacando tablas (posiblemente ocultas), escrituras del mismo color del fondo, etc...
javascript:(function(){var%20s="body",c="",I="%20!%20important;",i,b,f,x,h;%20for(i=0;i<17;++i)%20{%20x%20=%20i.toString(16);%20b%20=%20i>15?"FCC":x+x+x;%20f%20=%20i>9?"000":"FFF";%20c%20+=%20s%20+%20"%20{background:%20#"%20+%20b%20+%20I%20+%20"border-color:%20#"%20+%20b%20+%20I%20+%20"color:%20#"%20+%20f%20+%20I%20+%20"}\n";%20s%20+=%20"%20*";%20}%20if(document.createStyleSheet)%20{%20document.createStyleSheet("javascript:'"+c+"'");%20}%20else%20{%20h=document.createElement('link');%20h.rel='stylesheet';%20h.href='data:text/css,'+escape(c);%20document.getElementsByTagName("head")[0].appendChild(h);}})()
10.- Permite ver todas las imágenes de una web en otra ventana del navegador (Demo): A este script no le encuentro mucha utilidad, la unica que le encuentro es para ver pornografía rapidamente sin cargar muchos estilos visuales :P
javascript:pagina='';for(indice=0;indice<document.images.length;indice++){ pagina+='<img src='+document.images[indice].src+'><br>'}; if(pagina!=''){document.write('<center>'+pagina+'</center>'); void(document.close())}else{alert('No images!')}
Yo por lo menos, puse todos los Bookmarklets en una carpeta y ahora tengo una pequeña barrita de PenTest casera.
Todos los Bookmarklets los probé en Mozilla Firefox, es probable que algunos no funcionen en otros navegadores.
[+] Salu2
[+] Zion3R
----- Edit 07-03-2012 -----
11.- Busca en Google archivos Sensibles (Demo): Con este Bookmarklet buscamos en Google archivos con información sensible que pueda tener alguna web, busca archivos con extensión *.sql, *.asa, *.inc, *.zip, *.tar, *.gz, *.tgz, *.rar, *.7z, *.java, *.txt, *.bak, *.old.
javascript:%20(function(){%20document.location.href='http://www.google.com/search?q=site:'+document.location.href.split('/')[2]+'%20ext:sql%20OR%20ext:asa%20OR%20ext:inc%20OR%20ext:zip%20OR%20ext:tar%20OR%20ext:gz%20OR%20ext:tgz%20OR%20ext:rar%20OR%20ext:7z%20OR%20ext:java%20OR%20ext:txt%20OR%20ext:bak%20OR%20ext:old'%20})();
0 Notaciones:
Publicar un comentario