Conozco todos los detalles sobre mi sitio web. ¿Cómo puedo hackear mi propio sitio web?

Desea realizar una auditoría de seguridad de su sitio web.

Recopilación de información

  • Explore manualmente el sitio
  • Araña / rastreo para contenido perdido u oculto
  • Consulte los metarchivos del servidor web para ver los archivos de fuga de información que exponen contenido, como robots.txt, sitemap.xml, .DS_Store
  • Verifique los cachés de los principales motores de búsqueda para sitios de acceso público
  • Verifique las diferencias en el contenido en función del Agente de usuario (por ejemplo, sitios móviles, acceso como buscador de motores de búsqueda)
  • Consulte los comentarios y metadatos de la página web para ver si hay fuga de información
  • Verifique el marco de la aplicación web
  • Realizar huellas digitales de aplicaciones web
  • Identificar las tecnologías utilizadas.
  • Identificar roles de usuario
  • Identificar los puntos de entrada de la aplicación.
  • Identificar código del lado del cliente
  • Identifique múltiples versiones / canales (por ejemplo, web, web móvil, aplicación móvil, servicios web)
  • Identificar aplicaciones cohospedadas y relacionadas
  • Identifique todos los nombres de host y puertos
  • Identificar contenido alojado por terceros

Gestión de la configuración

  • Verifique la aplicación de uso común y las URL administrativas
  • Compruebe si hay archivos antiguos, de respaldo y sin referencia
  • Verifique los métodos HTTP admitidos y el rastreo de sitios cruzados (XST)
  • Prueba de manejo de extensiones de archivo
  • Probar la política de dominio cruzado RIA
  • Pruebe los encabezados HTTP de seguridad (por ejemplo, CSP, X-Frame-Options, HSTS)
  • Prueba de políticas (por ejemplo, Flash, Silverlight, robots)
  • Prueba de datos que no sean de producción en un entorno en vivo y viceversa.
  • Compruebe si hay datos confidenciales en el código del lado del cliente (por ejemplo, claves API, credenciales)

Transmisión segura

  • Verifique la versión SSL, los algoritmos, la longitud de la clave
  • Verifique la validez del certificado digital (duración, firma y CN)
  • Verifique las credenciales solo entregadas a través de HTTPS
  • Verifique que el formulario de inicio de sesión se entregue a través de HTTPS
  • Verificar los tokens de sesión solo entregados a través de HTTPS
  • Compruebe si HTTP Strict Transport Security (HSTS) en uso

Autenticación

  • Prueba de enumeración de usuarios
  • Prueba de omisión de autenticación
  • Prueba de protección de fuerza bruta
  • Prueba de credenciales transportadas a través de un canal cifrado
  • Prueba de reglas de calidad de contraseña
  • Prueba recuerdame funcionalidad
  • Prueba de autocompletar en formularios de contraseña / entrada
  • Prueba de restablecimiento de contraseña y / o recuperación
  • Probar el proceso de cambio de contraseña
  • Prueba CAPTCHA
  • Prueba de autenticación de múltiples factores
  • Prueba de presencia de funcionalidad de cierre de sesión
  • Prueba de gestión de caché en HTTP (p. Ej., Pragma, Caduca, Edad máxima)
  • Prueba de inicios de sesión predeterminados
  • Prueba de historial de autenticación accesible para el usuario
  • Prueba de notificaciones fuera del canal de bloqueos de cuenta y cambios exitosos de contraseña
  • Pruebe la autenticación coherente en todas las aplicaciones con esquema de autenticación compartido / SSO y canales alternativos
  • Prueba de pregunta / respuesta de seguridad débil

Manejo de sesiones

  • Establezca cómo se maneja la administración de sesión en la aplicación (por ejemplo, tokens en cookies, token en URL)
  • Verifique los tokens de sesión en busca de indicadores de cookies (httpOnly y seguro)
  • Verifique el alcance de la cookie de sesión (ruta y dominio)
  • Verifique la duración de la cookie de sesión (caduca y edad máxima)
  • Verifique la finalización de la sesión después de una vida útil máxima
  • Verifique la finalización de la sesión después del tiempo de espera relativo
  • Verifique la finalización de la sesión después de cerrar sesión
  • Prueba para ver si los usuarios pueden tener múltiples sesiones simultáneas
  • Probar cookies de sesión para aleatoriedad
  • Confirme que se emiten nuevos tokens de sesión al iniciar sesión, cambiar de rol y cerrar sesión
  • Pruebe la administración de sesión consistente en todas las aplicaciones con administración de sesión compartida
  • Prueba para la sesión desconcertante
  • Prueba de CSRF y clickjacking

Autorización

  • Prueba de recorrido transversal
  • Prueba de problemas de control de acceso vertical (también conocido como escalada de privilegios)
  • Prueba de problemas de control de acceso horizontal (entre dos usuarios en el mismo nivel de privilegio)
  • Prueba de falta de autorización
  • Prueba de referencias directas a objetos inseguros

Validación de datos

  • Prueba de secuencias de comandos de sitios cruzados reflejados
  • Prueba de scripts de sitios cruzados almacenados
  • Prueba de secuencias de comandos de sitios cruzados basadas en DOM
  • Prueba de parpadeo cruzado del sitio
  • Prueba de inyección HTML
  • Prueba de inyección SQL
  • Prueba de inyección de LDAP
  • Prueba de inyección de ORM
  • Prueba de inyección XML
  • Prueba de inyección XXE
  • Prueba de inyección SSI
  • Prueba de inyección de XPath
  • Prueba de inyección XQuery
  • Prueba de inyección IMAP / SMTP
  • Prueba de inyección de código
  • Prueba de inyección de lenguaje de expresión
  • Prueba de inyección de comandos
  • Prueba de desbordamiento (pila, montón e entero)
  • Prueba de cadena de formato
  • Prueba de vulnerabilidades incubadas
  • Prueba de división / contrabando de HTTP
  • Prueba de manipulación de verbos HTTP
  • Prueba de redireccionamiento abierto
  • Prueba de inclusión de archivos locales
  • Prueba de inclusión remota de archivos
  • Compare las reglas de validación del lado del cliente y del lado del servidor
  • Prueba de inyección NoSQL
  • Prueba de contaminación de parámetros HTTP
  • Prueba de encuadernación automática
  • Prueba de asignación masiva
  • Prueba de cookie de sesión nula / no válida

Negación de servicio

  • Prueba de anti-automatización
  • Prueba de bloqueo de cuenta
  • Prueba de protocolo HTTP DoS
  • Prueba de DoS comodín SQL

Lógica de negocios

  • Prueba de mal uso de funciones
  • Prueba de falta de no repudio
  • Prueba de relaciones de confianza
  • Prueba de integridad de datos
  • Prueba de segregación de funciones
  • Prueba de sincronización del proceso
  • Prueba Número de veces que una función se puede utilizar Límites
  • Prueba para la circunferencia de los flujos de trabajo
  • Probar defensas contra el mal uso de la aplicación
  • Prueba de carga de tipos de archivos inesperados

Criptografía

  • Compruebe si los datos que deben cifrarse no están
  • Verifique el uso incorrecto de algoritmos según el contexto
  • Verifique el uso de algoritmos débiles
  • Verifique el uso adecuado de la salazón
  • Verifique las funciones de aleatoriedad

Funcionalidad arriesgada – Subidas de archivos

  • Probar que los tipos de archivo aceptables están en la lista blanca
  • Pruebe que los límites de tamaño de archivo, la frecuencia de carga y el recuento total de archivos estén definidos y se apliquen
  • Probar que el contenido del archivo coincide con el tipo de archivo definido
  • Pruebe que todas las cargas de archivos tengan un escaneo antivirus instalado.
  • Probar que los nombres de archivo inseguros son desinfectados
  • Pruebe que los archivos cargados no sean accesibles directamente desde la raíz web
  • Probar que los archivos cargados no se sirven en el mismo nombre de host / puerto
  • Probar que los archivos y otros medios están integrados con los esquemas de autenticación y autorización

Funcionalidad arriesgada – Pago con tarjeta

  • Prueba de vulnerabilidades conocidas y problemas de configuración en el servidor web y la aplicación web
  • Prueba de contraseña predeterminada o adivinable
  • Prueba de datos que no sean de producción en un entorno en vivo y viceversa.
  • Prueba de vulnerabilidades de inyección
  • Prueba de desbordamientos de búfer
  • Prueba de almacenamiento criptográfico inseguro
  • Prueba de protección de la capa de transporte insuficiente
  • Prueba de manejo incorrecto de errores
  • Pruebe todas las vulnerabilidades con una puntuación CVSS v2> 4.0
  • Prueba de problemas de autenticación y autorización
  • Prueba de CSRF

HTML 5

  • Prueba de mensajería web
  • Prueba de inyección SQL de almacenamiento web
  • Verifique la implementación de CORS
  • Comprobar aplicación web sin conexión

Manejo de errores

  • Verificar códigos de error
  • Verificar rastros de pila

(De la hoja de referencia de pruebas de seguridad de aplicaciones web OSWAP)

Pruebe diferentes métodos de explotación …
Tal vez use una herramienta de fuerza bruta como Brutus o si tiene una base de usuarios con usuarios privilegiados además de probar el setoolkit. Intenta enviar una puerta trasera a tu servidor. O si está utilizando un CMS (Sistema de gestión de contenido) como WordPress, vulnerabilidades conocidas de Google para el CMS y los complementos instalados.
Hay muchas maneras de hackear un sitio web, estas son solo una pequeña fracción de las formas en que podría hackear su sitio web.
Como no sé qué tipo de sitio web tienes, no puedo darte una respuesta detallada.