protocolo HTTP e riscos de segurança

protocolo HTTP

  Na pilha de protocolos TCP / IP, que compreende um certo número de protocolos da camada de aplicação, o protocolo mais amplamente utilizado chamado protocolo HTTP. Usando o protocolo HTTP em uma ampla gama de vida diária, tais como quando o acesso ao local, o protocolo utilizado é o protocolo HTTP.
Aqui Insert Picture Descrição

protocolo HTTP
  HTTP baseia-se num modo de resposta do pedido, sem estado protocolo da camada de aplicação.

  • Resposta a um pedido
      da necessidade do cliente para enviar uma solicitação para um servidor web mais tarde, à espera de que o servidor retorna http mensagem de resposta.
  • Apátridas
      vários tipos de informação entre o servidor todo o processo de protocolo http não será gravado.

  Muitas vezes baseadas em conexão TCP, que http é embalado em pacotes de dados TCP a serem transmitidos, a grande maioria das aplicações Web são construídos em cima de protocolo HTTP, que está usando o navegador para acessar o web site são baseados no protocolo http como um padrão.

HTTP protocolo na URL de
   HTTP é o URL de um tipo específico de URI, contendo informações de identificação utilizado para procurar um recurso.
formato geral URL é a seguinte:

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

  • http comprometeu a localizar recursos de rede através do protocolo HTTP;
  • acolhimento representa o nome de domínio do host ou endereço IP;
  • Porta Especifica o número de porta, em seguida, o padrão é a porta vazio 80;
  • caminho especificado URI recurso solicitado

Por exemplo,
  http://news.sina.com.cn/c/z/xjpfyzsg2014/
  é uma URL específica

http pedido formato de mensagem de
  uma solicitação HTTP consiste em três partes: a linha de solicitação, cabeçalho da mensagem, pedido corpo.

  • A linha de pedido: especificar o que deseja para acessar recursos
  • cabeçalho da mensagem: http significado dos campos especificados no acordo. cabeçalho da mensagem HTTP inclui cabeçalho comum, um cabeçalho de solicitação, cabeçalho de resposta, a entidade cabeçalho. Cada campo de cabeçalho é um nome + ":" + espaço + composição de valor, o nome de um cabeçalho campos mensagem são maiúsculas e minúsculas.
  • Pedido de corpo: conteúdo específico especificada na mensagem de solicitação contém.

Http pedido de linha
  método pedidos começa com um símbolo de linha, separadas por espaços, seguido por um URI e a versão do protocolo do pedido do cliente, o seguinte formato:
  Method Request-URI HTTP-Version CRLF

  • Método: indica um método de pedido;
  • Request-URI: é um identificador de recurso uniforme;
  • HTTP-Version: indica um pedido da versão do protocolo HTTP;
  • CRLF: representa o retorno do carro e linha

  Por exemplo, podemos entrar na home page Baidu, F12 para abrir a depuração browser. Encontrado rede, clique em e atualizar a página, o browser será capaz de ver o conteúdo do pedido.
Aqui Insert Picture Descrição

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  //请求头
// 请求正文
......

O método do protocolo HTTP

  • Get: Pedido de recurso identificado pelo Request-URI
  • POST: acrescentar novos dados após o recurso identificado pelo Request-URI
  • CABEÇA: Pedido mensagem em resposta a um recurso identificado pelo Request-URI cabeçalho
  • PUT: um pedido de recursos de armazenamento para o servidor, e com a sua identidade como uma Solicitação-URI
  • Apagar: solicita o servidor para excluir o recurso identificado pelo Request-URI
  • TRACE: echo informações solicitação servidor solicitante recebeu usado principalmente para testar ou diagnóstico
  • CONNECT: Reservado para uso futuro
  • OPÇÕES: opções relacionados com o desempenho de solicitação ou consulta e outros recursos da consulta de servidor

Formato de mensagem de protocolo HTTP de resposta
  compreende: o estado inicial da linha, a primeira porção de linha, o corpo da entidade.

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   // 以上都是首部行等
// 实体主体
............

Riscos de segurança protocolo HTTP

(1) phishing
  atacante forjado para um site de alguma forma. Por exemplo, o atacante vai criar um site, o conteúdo do site e é direcionado exatamente o mesmo, e, finalmente, espalhar a sua via de acesso na rede quando o cliente clique na ligação adequada, é possível acessar sites de phishing, este site para clientes é muito familiarizado, é susceptível de ser enganado. A principal razão é que os sites de phishing enganados não sei é verdadeira ou falsa, porque não há nenhum mecanismo de autenticação rigorosa no protocolo http, desta forma, é possível invasor para obter informações sensíveis sobre os usuários.

Aqui Insert Picture Descrição
(2) Os ataques cross-site scripting

  • Script: um pequeno programa que pode ser analisado para executar browser.
  • ataques de script (ataque de script): Um atacante teria roteiro ofensiva enviado para o navegador interpretado de modo a obter dados do usuário ou danificar o sistema.

  Para proteger a segurança dos dados do usuário, o navegador geralmente não permite scripts para acesso cross-sessão (sessão) de dados.
  HTTP protocolo geralmente usa TCP para transferência de dados, sempre que o usuário para estabelecer a comunicação com um navegador web vai estabelecer uma conexão, que chamamos de uma sessão de dados entre diferentes conexão ou sessão está protegido navegador, o script é ele não pode ser atravessada sessão ou navegador para acessar os dados em outras páginas.

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

  A descrição acima é um script simples, que usa o cookie função de alerta para exibir as informações no documento, nomeadamente cookie contém informações sensíveis sobre o arquivo local do usuário, por exemplo, visitar um site de compras, servidor web envia informações de conta e senha do usuário é armazenado localmente, visite o site pela primeira vez deixou de entrar na conta e senha.

ataques de script procedimento
  atacante envia um programa script para alvo, depois de ler um cookie alvo execução análise local e envia essa informação para o atacante.
Aqui Insert Picture Descrição
  Sessão ou script não pode cross browser para acessar os dados em outras páginas.

processo de cross-site scripting

  Em tal processo uma, a fim de obter dados por um atacante, o atacante pode não enviar directamente o script para ser alvo de ataque.
  Como conseguir cross-site-lo?
  Primeiro, o atacante pode estar presente código de script ofensiva é enviado para o servidor, o script será armazenado no servidor local, o tempo de acesso ao servidor de destino, você pode acessar páginas da Web que contêm esses scripts, e essas páginas podem ele foi transferido para o atacante local e análise executada. É possível obter as informações pertinentes aos enviados ao ataque em processo de implementação.

  Um atacante enviados para as páginas do roteiro de servidor web que contêm script pode gerar formas são:

  • Forum
      permite aos usuários enviar informações
  • Comentário
      produtos avaliados, aftermarket avaliação permitiu a apresentação de informações
  • IM
      permite aos usuários enviar mensagens
  • Social, aplicações de rede
      permite que um usuário enviar e receber mensagens, ea discussão de Avaliação

Condição ocorre cross-site scripting ataques

  • Permitindo que um usuário para inserir informações para a aplicação web, que permite ao usuário para fornecer conteúdo
  • Os dados de entrada do usuário pode ser usado para gerar as páginas dinamicamente, quando a informação pode ser acessada, o armazenamento pode ser gerado dinamicamente do servidor web, um atacante.
  • A entrada do usuário não é verificado pela legitimidade fornecido pelo programa ilegal atacante não foi detectado

Cross-site classificação ataques de script

  • Sítio persistente Cross (XSS persistente ou XSS armazenado)
      dados de ataque armazenados no servidor. Quando um usuário acessa uma página web normal, páginas web geradas dinamicamente, o servidor será malicioso inclusão instruções na página web normal retornado ao usuário.

  • Cross-site não persistente (não persistente XSS ou refletida XSS )
      scripts de scripts maliciosos e é obtido imediatamente em resposta a uma solicitação HTTP após a execução, tais como a vítima (o servidor para gerar a página de acordo com os dados enviados pelo usuário malicioso).

  • Cross-Site Document Object Model (XSS baseado em DOM)
      tempo se o script do lado do cliente (por exemplo, JavaScript) para gerar dinamicamente HTML, não há fiscalização rigorosa e parâmetros de filtragem, pode levar a DOM (Document Object Model) ataques cross-site.

  Quando o usuário através do navegador para acessar a página da web, o usuário é retornado a um modelo de objeto de documento , todos os objetos HTML, documento objetos é o documento mais importante, inclui também um monte de objetos palavras (tais como localização, URL, de referência e do corpo, etc.)

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

  objeto documento contém muitas propriedades e métodos, estes métodos chamando ou cessão do imóvel, será capaz de cross-site scripting ataque, por exemplo:

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> 

  Quando o usuário acessa esta página, o que requer que o usuário digite o nome, esta página irá exibir dinamicamente o conteúdo apropriado com base no nome digitado pelo usuário. Em circunstâncias normais, será exibido no navegador Welcome to our system
mas nós incorporar um pedaço de código como este:
http://www.abc.com/welcome.html?name= < script>alert(document.cookie)</ script>
  Neste caso, o atacante será substituído com o nome do usuário algum código de script, para alcançar um cross-site scripting ataques contra os usuários.

Publicado 74 artigos originais · ganhou elogios 9 · vê 20000 +

Acho que você gosta

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