Archive for category Linux

Segurança na Aplicação PHP

Abaixo pequeno post para o desenvolvimento de aplicações seguras utilizando a linguagem PHP, eliminando os equívocos geralmente relacionados à esta.

Um dos equívocos mais comuns relacionados à linguagem PHP é o de que é difícil de se produzir sistemas e ferramentas seguras quando a utilizamos. Este equívoco é fundamentado em 3 conceitos:

  • A simplicidade da linguagem, com uma baixa curva de aprendizado
  • A própria fragilidade da web como ambiente de aplicações
  • Algumas features presentes na linguagem

Conceitos: Web: “A Terra de Ninguém”:

 O Problema: A web é um ambiente precário em termos de segurança. Dificuldade para identificar os usuários, ameaças que proliferam às dezenas e usuários descuidados são lugares comuns quando tratamos de uma aplicação web.

 A Solução: Criar o hábito de pensar qualquer aplicação web, por mais simples que seja, levando-se em consideração a questão de segurança. Termos a noção de que é nossa responsabilidade como desenvolvedores criar aplicações que sejam minimamente seguras.

 Aplicações mais maduras:

 O Problema: Algumas features que podem ser utilizadas na linguagem, como a ativação da configuração register_globals, facilitam o trabalho, mas inevitavelmente aumentam riscos de segurança e acostumam mal o desenvolvedor.

 A Solução: Nos acostumarmos a desempenhar nosso trabalho da melhor forma possível, tendo sempre em mente que tudo o que é fácil tem seu preço e o que dá mais trabalho hoje causará menos incômodos amanhã.

 Boas Práticas:

Leia o resto deste artigo »

, , , , , , ,

Deixe um Comentário

Teste de Penetração – Apache Tomcat

Neste post vamos nos concentrar no servidor Web Apache Tomcat e como podemos descobrir as credenciais do administrador, a fim de ter acesso ao sistema remotamente. Estamos realizando o nosso teste de penetração interna e descobrimos o Tomcat Apache rodando em um sistema remoto na porta 8180.

Nosso próximo passo vamos abrir Metasploit Framework e procurar por módulos específicos sobre o Apache Tomcat usando o comando de pesquisa Tomcat.

Avaliando modulo Apache Tomcat

Vamos encontrar um scanner auxiliar que será a ferramenta para a nossa tentativa de entrar no Gerenciamento da aplicação do Tomcat. Estamos selecionando o scanner utilizando o uso de comando auxiliary/scanner/http/tomcat_mgr_login e então estamos configurando-o corretamente como aparece na imagem.

Leia o resto deste artigo »

, , , ,

Deixe um Comentário

protocolo HTTP

Hypertext Transfer Protocol (HTTP) é o método utilizado para enviar e receber informações na web, definida pela especificação RFC 2616. Baseado em requisições e respostas entre clientes e servidores. O cliente — navegador ou dispositivo que fará a requisição; também é conhecido como user agent — solicita um determinado recurso (resource), enviando um pacote de informações contendo alguns cabeçalhos (headers) a um URI ou, mais especificamente, URL. O servidor recebe estas informações e envia uma resposta, que pode ser um recurso ou um simplesmente um outro cabeçalho.


GET / HTTP/1.1
Host: spesa.com.br
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US) Gecko/20061201 Firefox/2.0.0.3 (Ubuntu-feisty)
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive

Segundo este cabeçalho, estamos enviando algumas informações que identificam nosso cliente no caminho (path) / e, o mais importante, qual o método da requisição. O servidor, por sua vez, identifica os cabeçalhos que lhe são convenientes e envia uma resposta. Neste exemplo, recebemos os cabeçalhos de resposta, além de todo o conteúdo HTML da página inicial do Spesa.


HTTP/1.x 200 OK
Date: Fri, 04 May 2007 16:05:43 GMT
Server: Apache/2.0.59 (Unix) mod_ssl/2.0.59 OpenSSL/0.9.7a DAV/2 PHP/4.4.4 mod_bwlimited/1.4
Cache-Control: no-cache
Keep-Alive: timeout=3, max=100
Connection: Keep-Alive
Transfer-Encoding: chunked
Content-Type: text/html; charset=iso-8859-1
 Leia o resto deste artigo »

, , , , ,

Deixe um Comentário

PHP IDS

PHP IDS, que é uma classe/sistema para a segurança do site. A sua função se resume em vasculhar todas as possíveis entradas de informações do site ($_POST, $_GET, $_COOKIE e etc.) em busca de algo que possa ser uma tentativa de ataque e/ou invasão. Ele foi criado para a proteção de sites que usam e abusam das “funcionalidades” da WEB 2.0.

Se alguém inserir, por exemplo, um código SQL para tentar um SQL Injection no seu site, o PHP IDS vai pegar, vai avisar (ou não) sobre a tentativa de ataque, vai evitar o estrago e ainda te avisa (ou não) por e-mail. No total ele te protege dos seguintes tipos de ataque: XSS, SQL Injection, header injection, directory traversal, RFE/LFI, DoS e LDAP.

Para instalação :
1 – Faça o download dele no site oficial.
2 – Descompacte a pasta ../libs/IDS na raiz (root) no site (mantendo a pasta IDS).
3 – Insira o seguinte bloco de código no começo do site:

01    // Inclui o arquivo do PHPIDS
02    require_once ‘IDS/Init.php’;
03    $request = array(
04    ’REQUEST’ => $_REQUEST,
05    ’GET’ => $_GET,
06    ’POST’ => $_POST,
07    ’COOKIE’ => $_COOKIE
08    );
09    // Inicia o PHPIDS
10    $init = IDS_Init::init(‘IDS/Config/Config.ini’);
11    $ids = new IDS_Monitor($request, $init);
12    $result = $ids->run();
13    
14    if (!$result->isEmpty()) {
15    // Exibe resultados caso sejam encontrados
16    echo $result;
17    }

Com isso ele já vai passar a funcionar… Vale lembrar que esse exemplo apenas avisa (mostra) que algo foi encontrado e bloqueia… Você vai  precisar adaptá-lo as suas necessidades. Para configurar suas funções e usá-lo da melhor forma, é recomendado que você dê uma olhada no arquivo Config.ini e/ou veja a página de FAQs.

Artigo originalmente publicado em 1 de junho de 2009 por Thiago Belem: Instalando o PHPIDS no seu site

leia também : Scanner KisMAC – WI-FI

, ,

1 Comentário

Comando tcpdump

tcpdump é um sniffer para sistemas GNU/Linux.  Com ele realizamos  análises de redes e solucionar problemas, Serve também para efetuar uma Análise de Vulnabilidade e aplicar a solução de contorno. Sua utilização é simples e sem mistérios, bastando apenas ter os conhecimentos básicos de redes TCP/IP.

Segue alguns comando a serem usados para sniffar sua rede:

Neste comando estamos sniffando a eth0 para um determinado host:

# tcpdump -i eth0 -qtNnn host 0.0.0.0

Neste comando estamos sniffando a eth0 para uma determinada porta:

# tcpdump -i eth0 -qtNnn port 110

Neste comando estamos sniffando a eth0 para recebimento de ping:

# tcpdump -i eth0 -qtNnn icmp

Neste comando estamos sniffando a eth0 para um destino especificado:

# tcpdump -i eth0 -qtNnn dst 0.0.0.0

Neste comando estamos sniffando a eth0 para uma origem especificada:

# tcpdump -i eth0 -qtNnn src 0.0.0.0

O comando tcpdump possui vários complementos os quais veremos agora.

Neste comando repare que acrescentamos “Xxx”, esses parâmetros permitem que você abra o pacote que está sendo transmitido pelo host determinado:

# tcpdump -i eth0 -qtNnnXxx host 0.0.0.0

Neste comando estamos sniffando um determinado host falando na porta 3389 (Terminal Service):

# tcpdump -i eth0 -qtNnn host 0.0.0.0 and port 3389

No firewall ele nos permite realizarmos vários tipos de filtros e parâmetros, a seguir veremos um tcpdump com host, porta e exclusão de porta:

# tcpdump -i eth0 -qtNnn host 0.0.0.0 and port 25 and not port 3389

Bom, também podemos realizar tcpdump em determinadas portas e excluindo alguns hosts. Ex:

# tcpdump -i eth0 -qtNnn port 3389 and port 25 and port 110 and not port 443 and not port 3128 and not host 0.0.0.0 and not host 0.0.0.0

Fonte  :
http://www.vivaolinux.com.br/dica/Exemplos-de-uso-do-tcpdump

leia também : Como configurar as chaves SSH

,

1 Comentário

Seguir

Get every new post delivered to your Inbox.

Junte-se a 251 outros seguidores