– root@injetionsec:~#

bWAPP aplicação web inseguro para testes

30.03.2014 (10:27 pm) – Filed under: Aplicações Web ::

bWAPP ajuda entusiastas de segurança, desenvolvedores e estudantes a identificar e prevenir as vulnerabilidades da web. bWAPP prepara para realizar testes de penetração e projetos hackers éticos com sucesso . Com mais de 60 web bugs,abrange todas as principais vulnerabilidades da web conhecidas, incluindo todos os riscos do projeto OWASP Top 10. bWAPP é uma aplicação PHP que usa um banco de dados MySQL. Pode ser hospedado em Linux e Windows usando Apache / IIS e MySQL. Ele pode ser instalado com WAMP ou XAMPP,clique aqui para baixar o bWAPP.

HTTP – Pedido/Resposta

21.11.2013 (1:37 pm) – Filed under: Aplicações Web ::

HTTP Métodos

Quando você estiver analisando uma aplicação web vais sempre lidar com métodos: GET e POST,o método GET e para recuperação de recursos, ele pode ser usado para enviar parâmetros para um pedido de URL de consulta.Essas URLs são exibidas na tela e são registradas em vários lugares,tais como histórico de navegadores e servidores de acesso a logs, já o método POST e projetado para executar ações. Com este método o pedido dos parâmetros podemos então  enviar simultaneamente consultas na URL

URLs

O formato de uma URL em alguns casos  o n° da porta e opcional, so incluído quando diverge do padrão do protocolo vejamos:

protocolo://hostname[:porta]/[caminho/]arquivo[?parametro=valor]

A URL utilizada para gerar HTTP e mostrada abaixo,verá o pedido

http://site.com/books/search.asp?q=wahh 

 

HTTP Headers

Suporta um grande numero de cabeçalhos dos quais são concebido para fins incomuns.Alguns cabeçalhos podem ser usados para ambos pedidos e resposta,os cabeçalhos que são os mais atacados em aplicações web galera.

– TIPOS DE CABEÇALHOS GERAIS –

Connection  este e utilizado para informar o fim da comunicação para fechar o TCP e após isso o HTTP “falar” que já foi transmitido a coneção ou mante-lo aberto para novas mensagens

Content-Encoding — este e usado para especificar o tipo de codificação e utilizado para compactar aplicativos para ter um resposta mais rapidad de transmissão.

Content-Length — este e para especificar o comprimento da mensagem o corpo em bytes.

Content-Type — esse e usado para especificar o tipo de conteudo contido no corpo da mensagem text/html

Transfer-Encoding — especifica o tipo de codificação realizada para facilitar na transferência da mensagem do HTTP. Ele e normalmente utilizado para especidficar fragmentação de codificação quando e utilizada

 

PEDIDOS DE CABEÇALHOS

Accept  este e usado para falar com o servidor que tipos de conteudo do cliente e pode aceitar,como imagem,tipos de documentos e etc

Accept-Encoding — este e usado para contar ao servidor que tipos de conteúdo codificado do cliente ele pode aceitar.

Authorization  este e usado para apresentar credenciais para o servidor.

Cookie  este e usado para aprensetar os cookies para o servidor , que foram emitidos por ele.

Host  Este e usado para especificar o nome do host que esta sendo solicitado na URL

If-Modified-Since — este e para especificar o tempo que o navegador recebeu o pedido. Se o não mudou o servidor instrui o cliente a usar sua copia de cache , mostrando como resposta um status de código 304

If-None-Match — este e usado para especificar a tag, como assim; o navegador envia a entidade tag para o sevidor que e emitido com requerido recurso para receber, o servidor pode utilizaar a entidade tag para determinar se o navegador pode usar a sua copia de cache .

Referer  e usado para especificar a URL onde a solicitação originou.

User -Agent — este e usado para fornecer informações sobe o navegador ou outro cliente que gerou o pedido

 

RESPOSTA DE CABEÇALHOS

Cache-Control — este e usado para passer as directivar de cache para o navegador (por exemplo,sem cache)

ETag  Este e usado para especificar o cabeçalho para notificar o servidor que versão de recurso do navegador atualmente detem em seu cache.

Expires  e utilizado para instruir o navegador os tempos de conteudos do corpo da mensagem validadas.

Location  Este e utilizado em refirecionamento de respostas, para especificar o alvo de redirecionamento.

Pragma  este e usdo para passer cache directivas para o navegador

Server  este informa as informações do servidor web que esta sendo usado .

Set-Cookie — este e usado para emitir os cookies para o navegador que vai enviar de volta para o servidor com os pedidos

www-authenticate — este e utilizado em respostar com um status de codigo 401 que fornece detalhes do tipo(s) de autenticação suportados no servidor.

 

Pedidos/Resposta HTTP

08.11.2013 (11:59 am) – Filed under: Aplicações Web ::

Sobre o HTTP

O Hypertext Transfer Protocol (HTTP), em português Protocolo de Transferência de Hipertexto, é um protocolo de comunicação atuando na segunda camada do modelo OSI,ele é a base para a comunicação de dados da World Wide Web.O HTTP funciona como um protocolo de requisição-resposta no modelo computacional cliente-servidor. Um navegador web, por exemplo, pode ser o cliente e uma aplicação em um computador que hospeda um site da web pode ser o servidor. O cliente submete uma mensagem de requisição HTTP para o servidor. O servidor, que fornece os recursos, como arquivos HTML e outros conteúdos, ou realiza outras funções de interesse do cliente, retorna uma mensagem resposta para o cliente. A resposta contem informações de estado completas sobre a requisição e pode também conter o conteúdo solicitado no corpo de sua mensagem.

Um navegador web é um exemplo de agente de usuário (AU). Outros tipos de agentes de usuário incluem o software de indexação usado por provedores de consulta (web crawler), navegadores vocais, aplicações móveis e outros software que acessam, consomem ou exibem conteúdo web.,o HTTP é projetado para permitir intermediações de elementos de rede para melhorar ou habilitar comunicações entre clientes e servidores,abaixo vemos algumas mensagens de pedido e respostas para analisarmos cada linha.

Pedidos HTTP

O HTTP usa mensagem baseda em modelo que um cliente envia um pedido e o servidor retorna a resposta,consitem de um ou mais cabeçalhos,separados por linhas. Uma típica solicitação no  HTTP

http

Destrinchando as linhas :

  1. – Indica o metodo comumente utilizado e o GET,cuja a função e de recuperar um recurso de web servidor.
  2. – o pedido de url,as url com um nome do pedido junto com um opcional de consulta passando paramentros de recursos para cliente,indicado por “?” e o valor wahh
  3. – a versão do HTTP que esta sendo usada, as únicas versões mais comuns são 1,0 e 1,1 a maioria dos navegadores usam versão 1,1 por padrão. A única diferença e que são difíceis de encontrar e que quando o usuário mal intencionado for atacar aplicações web que e na versão 1,1 assim é pedido o cabeçalho obrigatorio
  4. Referer e um cabeçalho usado para indicar a URL qual o pedido que originou
  5. user-agent e o cabeçalho usado para fornecer informações sobre o navegador ou outro cliente software que gerou esse pedido. Observe que o mozilla e incluído na maioria dos navegadores
  6. – o host ,esse cabeçalho e usado para especificar o nome dele que aparece com a URL sendo acessada
  7. – o cookie esse cabeçalho e usado para apresentar e adicionar parâmetros que o servidor tenha emitido para o cliente.

Pedidos HTTP

Abaixo vemos uma resposta do HTTP

http_2

  1. – primeiro vemos a versão que esta sendo mostrado
  2. – depois vem um numero que e 200 indica que o pedido for bem sucedido e esta sendo devolvido
  3. – depois vemos a descrição da resposta,como data,dia e ano , não tem muito significado ou proposito para os navegadores.

Outros pontos importantes são interessantes observar

  1. – servidor esse cabeçalho contem uma bandeira indicando o web servidor do software utilizado,as vezes vemos outros detalhes tais como módulos e o servidor de operação do sistema.essas informações podem ser ou não precisas.
  2. – set-cookie este cabeçalho esta emitindo ao navegador um adicional cookie.
  3. – o pragma esta instruindo a este navegador não armazenar a resposta em seu cache
  4. – o expira este cabeçalho indica que a resposta expira em um determinado tempo e assim n deve estar no cache.
  5. – o contente-type indica que o corpo dessa mensagem contem um código HTML no documento
  6. – contente-lenghth indica o comprimento do corpo da mensagem em bytes.

Ate o próximo tutorial