Muchas veces permitimos que algunos usuarios publiquen información y no moderamos o revisamos lo que publican y luego el titulo o el contenido se convierte en palabra clave. Una manera de controlar esto es desde un buscador como Google, poner site:midominio.com “palabra clave”, al estar entre comillas es una palabra clave exacta.
Vamos un ejemplo site:apple.com “robar fotos” como palabra clave
Encontramos un titulo en realidad es una aplicación que se llama Robar fotos en la tienda de Itunes, pero si buscamos podría se aun peor con otras palabras claves o si sufrimos un ataque tipo xss.
También sirve para ver si estamos posicionados para una determinada palabra clave.
Archivos con metadatos de usuario
Esto ocurre en documentos pdf y Microsoft office, que se editan desde un servidor windows y se publican en la web directamente.
Para ello en Google escribimos site: "Documents and settings"
En los resultados se podrá ver la ruta al directorio el nombre del usuario e incluso la ruta física del servidor donde se encuentra el documento.
Accediendo al archivo robots.txt
El archivo robots.txt sirve para bloquear directorios y archivos que no queremos que sean rastreados, pero como son archivos de texto se pueden listar para ver si se encuentra algún área sensible como un panel de administración, o una aplicación no publica.
El archivo robots.txt es publico ya que los buscadores lo leen al rastrear información. Todas las web lo utilizan para proteger contenido y directorios.
Inyecciones SQL
Estas se producen sobre todo al recibir parametros enviados por url del tipo www.midominio.com/pagina?id=2
Luego se lee ese parametro para ejecutar alguna instrucción sql
SELECT nombre. clave FROM usuarios WHERE user_id =$id;
Lo mejor es enviar la consulta a través de métodos post en vez de get en los formularios html y sino encriptar el código y la variable con algún método como md5 o sha.
Por ejemplo:
www.midominio.com/comprar?idcompra=345&producto=12
Encriptando md5 y enmascarando las variables
www.midominio.com/comprar?detalle_compra=e3d4b8f9637ce41a577ac68449e7f6b5
Ofuscar los script javascript
Muchas veces los desarrolladores web dejan los archivos javascript públicos y pueden ser leídos por cualquier persona, si tiene código sensible o funciones del sistema como redireccionamientos ajax o jquery, podrían resultar una vulnerabilidad para web.
Un método interesante es ofuscar el código o encriptarlo para que una función que realiza alguna tarea importante no se fácil de descifrar.
function calculo(cantidad,precio){ // Calculo del subtotal subtotal = precio*cantidad; documnet.getbyID('subtotal').value=subtotal; //Calculo del total documnet.getbyID('total').value= documnet.getbyID('total').value + subtotal; }
El mismo código ofuscado utilizando la herramienta online http://myobfuscate.com
Ataques por Validación de entradas
Muchos programadores para ahorrar tiempo no validan las entradas de formularios y permiten escribir y guardar cualquier cosa en la base de datos, porejemplo en lugar de un nombre o un telefono escribir una instrucción javascript, xss o cualquier codigo que luego pueda ejecutarse al leerse ese registro de la base de datos.