protocolo HTTP y los riesgos de seguridad

protocolo HTTP

  En la pila de protocolos TCP / IP, que comprende una serie de protocolos de capa de aplicación, el protocolo más utilizado llamado protocolo HTTP. Utilizando el protocolo HTTP en una amplia gama de la vida diaria, como cuando el acceso al sitio, el protocolo utilizado es el protocolo HTTP.
Aquí Insertar imagen Descripción

protocolo HTTP
  HTTP se basa en un modo de respuesta de solicitud, el protocolo de capa de aplicación sin estado.

  • Respuesta a una solicitud de
      la necesidad del cliente para enviar una petición a un servidor web más tarde, esperando a que el servidor devuelve http mensaje de respuesta.
  • Sin estado
      no se grabarán varios tipos de información entre el servidor de todo el proceso de protocolo http.

  A menudo basado en la conexión TCP, que HTTP es envasada en paquetes de datos TCP para ser transmitida, la gran mayoría de las aplicaciones Web se construyen en la parte superior del protocolo HTTP, que actualmente está utilizando el navegador para acceder a la página web se basan en el protocolo HTTP como un estándar.

El protocolo HTTP en el URL de
   HTTP es la dirección URL de un tipo específico de URI, que contiene información de identificación utilizada para buscar un recurso.
URL formato general es el siguiente:

   http://host[“:”port][path]:

  • http comprometido a localizar recursos de red a través del protocolo HTTP;
  • anfitriona representa el nombre de dominio o la dirección IP;
  • Puerto Especifica el número de puerto, a continuación, el valor predeterminado es puerto vacío 80;
  • ruta especificada URI recurso solicitado

Por ejemplo,
  http://news.sina.com.cn/c/z/xjpfyzsg2014/
  se trata de una URL específica

http petición formato de mensaje de
  una petición HTTP consta de tres partes: la línea de petición, mensaje de cabecera, solicitud cuerpo.

  • La línea de solicitud: especificar lo que desea tener acceso a recursos
  • encabezado del mensaje: http significado de los campos especificados en el contrato. encabezado del mensaje HTTP incluye cabecera común, un encabezado de la solicitud, cabecera de la respuesta, la entidad cabecera. Cada campo de encabezado es un nombre + ":" + espacio + composición de valor, el nombre de un campos de encabezado de mensaje son sensibles a mayúsculas.
  • Solicitud corporal: contenido específico se especifica en el mensaje de petición contiene.

Http solicitud de línea
  método solicitudes comienza con una fila de símbolos, separados por espacios, seguido por un URI y la versión del protocolo de la solicitud, el formato siguiente:
  Method Request-URI HTTP-Version CRLF

  • Método: indica método de la petición;
  • Request-URI: es un identificador uniforme de recursos;
  • HTTP-Version: indica una petición de la versión del protocolo HTTP;
  • CRLF: representa el retorno de carro y la línea de

  Por ejemplo, entramos en la página principal de Baidu, F12 para abrir la depuración del navegador. Encontrado red, haga clic y actualizar la página, el navegador será capaz de ver el contenido de la solicitud.
Aquí Insertar imagen Descripción

GET / HTTP/1.1  // 请求行
Host: www.baidu.com
Connection: keep-alive
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3314.0 Safari/537.36 SE 2.X MetaSr 1.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8
Accept-Encoding: gzip, deflate, br
Accept-Language: zh-CN,zh;q=0.9  //请求头
// 请求正文
......

El método del protocolo HTTP

  • Get: Solicitud recurso identificado por el URI de solicitud
  • POST: Añadir nuevos datos después del recurso identificado por el URI de solicitud
  • CABEZA: Mensaje de solicitud en respuesta a un recurso identificado por el URI de solicitud de cabecera
  • PUESTO: una solicitud de recursos de almacenamiento en el servidor, y con su identidad como Request-URI
  • Eliminar: pide al servidor para eliminar el recurso identificado por el URI de solicitud
  • TRACE: información de solicitud de eco recibidas servidor solicitante utiliza principalmente para la prueba o diagnóstico
  • CONNECT: Reservado para uso futuro
  • Opciones: petición de consulta o las opciones relacionadas con el rendimiento y otros recursos de la consulta de servidor

Formato de protocolo HTTP mensaje de respuesta
  comprenden: el estado inicial de la línea, la primera parte de línea, el cuerpo de la entidad.

HTTP/1.1 200 OK   // 状态行
Bdpagetype: 2
Bdqid: 0xf63dd9120001138a
Cache-Control: private
Connection: keep-alive
Content-Encoding: gzip
Content-Type: text/html;charset=utf-8
Date: Wed, 18 Mar 2020 05:02:14 GMT
Expires: Wed, 18 Mar 2020 05:02:14 GMT
Server: BWS/1.1
Set-Cookie: BDSVRTM=172; path=/
Set-Cookie: BD_HOME=1; path=/
Set-Cookie: H_PS_PSSID=30968_1426_21087_30903_30998_30824_31086; path=/; domain=.baidu.com
Strict-Transport-Security: max-age=172800
Traceid: 1584507734025483316217743576778242331530
X-Ua-Compatible: IE=Edge,chrome=1
Transfer-Encoding: chunked   // 以上都是首部行等
// 实体主体
............

Riesgos de seguridad del protocolo HTTP

(1) phishing
  atacante forja para un sitio de alguna manera. Por ejemplo, el atacante diseñar un sitio web, el contenido del sitio y está dirigido exactamente lo mismo, y finalmente difundir su forma, el acceso a la red cuando el cliente haga clic en la conexión apropiada, es posible acceder a los sitios de phishing, este sitio para clientes es muy familiarizado, es probable que sea engañado. La razón principal es que los sitios de phishing engañados no sabemos es verdadero o falso, porque no hay un estricto mecanismo de autenticación en el protocolo http, de esta manera, es posible atacante para obtener información confidencial sobre los usuarios.

Aquí Insertar imagen Descripción
(2) Los ataques cross-site scripting

  • Guión: un pequeño programa que se puede analizar para realizar navegador.
  • ataques de scripts (ataque script): Un atacante tendría guión ofensiva enviado al navegador interpretados a fin de obtener los datos del usuario o dañar el sistema.

  Para proteger la seguridad de los datos del usuario, el navegador por lo general no permite que los scripts en el acceso a los datos a través del período de sesiones (sesión).
  El protocolo HTTP generalmente utiliza TCP para la transferencia de datos, cada vez que el usuario establezca comunicación con un navegador web establecerá una conexión, lo que llamamos una sesión de datos entre diferentes conexión o sesión está protegida navegador, el guión es no se puede cruzar la sesión o el navegador para acceder a datos en otras páginas.

<SCRIPT>Alert(Document.Cookie)</SCRIPT> 

  Lo anterior es una secuencia de comandos simple, que utiliza la cookie función de alerta para mostrar la información en el documento, a saber cookie contiene información sensible acerca de archivos local del usuario, por ejemplo, visitar un sitio de compras, el servidor Web envía la cuenta y contraseña del usuario se almacena a nivel local, visite el sitio web por primera vez ya no entrar en la cuenta y la contraseña.

ataques de scripts procedimiento
  atacante envía una secuencia de comandos para el programa de destino, después de leer un análisis de la ejecución de galletas apuntado local y envía esta información al atacante.
Aquí Insertar imagen Descripción
  Sesión o script no puede navegadores para acceder a datos en otras páginas.

proceso de cross-site scripting

  En un proceso de este tipo, con el fin de obtener datos por un atacante, el atacante no pueden enviar directamente la secuencia de comandos para ser objeto de ataques.
  ¿Cómo lograr que entre sitios?
  En primer lugar, el atacante puede estar presente código de script ofensiva se envía al servidor, el script se almacena en el servidor local, el tiempo de acceso del servidor de destino, se puede acceder a las páginas web que contienen estas secuencias de comandos, y estas páginas puede se ha descargado al atacante local y de análisis ejecutado. Es posible obtener la información correspondiente a los enviados al ataque en el proceso de aplicación.

  Un atacante subido a las páginas del guión de servidor web que contienen la escritura puede generar formas son:

  • Foro
      permite a los usuarios enviar información
  • Comentario
      comentario, evaluación del mercado de accesorios permite presentar la información
  • IM
      permite a los usuarios enviar mensajes
  • Las redes sociales aplicaciones
      permite a un usuario enviar y recibir mensajes, y la discusión de Evaluación

Condición se produce ataques de cross-site scripting

  • Permitir a un usuario información de entrada a la aplicación web, que permite al usuario proporcionar contenido
  • Los datos de entrada del usuario pueden ser utilizados para generar las páginas dinámicamente, cuando la información se puede acceder, el almacenamiento puede ser generado dinámicamente servidor web, un atacante.
  • La entrada del usuario no se verifica la legitimidad proporcionada por el programa ilegal atacante no se ha detectado

Cross-site scripting clasificación ataques

  • Sitio persistente Cruz (XSS persistente o XSS almacenado)
      de datos de ataque almacenados en el servidor. Cuando un usuario accede a una página web normal, páginas web generadas dinámicamente, el servidor será malicioso inclusión instrucciones en la página web normal devueltos al usuario.

  • Entre sitios no persistente (no persistente XSS o reflejada XSS )
      Scripts Los scripts maliciosos y se obtiene de inmediato en respuesta a una petición HTTP después de la ejecución, tales como la víctima (el servidor para generar la página de acuerdo a los datos enviado por un usuario malicioso).

  • Cross-Site Document Object Model (basado en DOM XSS)
      tiempo si el script del lado del cliente (por ejemplo, JavaScript) para generar dinámicamente HTML, no hay una estricta inspección y parámetros de filtrado, que pueden conducir a DOM (Document Object Model) ataques de cross-site.

  Cuando el usuario a través del navegador para acceder a la página web, el usuario es devuelto a un modelo de objeto de documento , todos los objetos HTML, los objetos del documento es el documento más importante, también incluye una gran cantidad de objetos de palabras (tales como la ubicación, la URL de referencia y el cuerpo, etc.)

document.location 
document.URL 
document.URLUnencoded 
document.referrer 
document.write() 
document.writeln() 
document.boby.innerHtml 

  objeto de documento contiene muchas propiedades y métodos, estos métodos llamando o asignación de la propiedad, será capaz de ataque script de páginas web, por ejemplo:

http://www.abc.com/welcome.html 
<HTML> <TITLE>Welcome!</TITLE> Hi <SCRIPT> var 
pos=document.URL.indexOf("name=")+5; 
document.write(document.URL.substring(pos,document.URL.length)); </SCRIPT> 
<BR> Welcome to our system … </HTML> 

  Cuando el usuario accede a esta página, lo que requiere que el usuario introduzca el nombre, esta página mostrará dinámicamente el contenido adecuado en función del nombre introducido por el usuario. En circunstancias normales, se mostrarán en el navegador Welcome to our system
pero incrustar un pedazo de código como el siguiente:
http://www.abc.com/welcome.html?name= < script>alert(document.cookie)</ script>
  En este caso, el atacante será reemplazado con el nombre de usuario algún código de script, para lograr un cross-site scripting ataques contra los usuarios.

Publicado 74 artículos originales · ganado elogios 9 · Vistas a 20000 +

Supongo que te gusta

Origin blog.csdn.net/fu_yunjian/article/details/104941040
Recomendado
Clasificación