Postagens

Mostrando postagens com o rótulo xss

Stack overflow

Imagem
O stack overflow Como sabemos, a stack do processador é usada para múltiplos propósitos: ela guarda dados, mas também o endereço de onde o Program Counter deve ir quando uma função retorna. Por causa disto, uma escrita nos dados da stack pode alterar o fluxo do programa, caso seja feita de maneira incorreta (ou ainda maliciosa). Imagine um buffer sendo definido localmente em uma função. Ele consequentemente será alocado na stack. Se o programa tentar escrever além dos limites do tamanho do buffer, escreverá em dados que não fazem parte do buffer e, eventualmente, escreverá também na posição do endereço de retorno da função. Para testar um buffer overflow, o pesquisador insere uma entrada para o programa executável com uma grande quantidade de caracteres, por exemplo: payload = AAAAAAAABBBBBBBBCCCCCCCCDDDDDDDD...etc  São usadas 8 letras de cada para um processador de 64 bits. Seriam 4 letras para um processador de 32 bits. Se uma quantidade que excede o tamanho do buffer causar um e...

Diferenças entre Bug Bounty e Pentest

Imagem
À primeira vista, Bug Bounty e Pentest podem parecer a mesma coisa, pois ambos são testes realizados em um sistema que reportam falhas de vulnerabilidade. Mas existem diferenças fundamentais entre as duas modalidades. Pra começar, o pentester é um funcionário contratado por uma empresa para realizar testes de intrusão. Pode ser também uma empresa contratada para esta atividade, quando a empresa principal não tem um fluxo constante de lançamento de produtos, ou por qualquer outro motivo. De qualquer maneira, no pentest existe vínculo entre a empresa e o profissional. Pentest é a abreviação de Penetration Test, ou seja, um teste de intrusão autorizado pela empresa que será atacada. Assim como no programa de Bug Bounty, o objetivo é identificar as vulnerabilidades do seu sistema. Antes de colocar um sistema em produção, a empresa contrata o serviço de pentest para que o seu produto seja submetido a uma sabatina de testes que irá identificar vulnerabilidades para que a equipe de projeto po...

XSS - Cross-site Scripting

Imagem
Vimos no post sobre SQL injection uma injeção de código que afeta o back-end (server side). Agora veremos um caso de vulnerabilidade no front-end (client side). O termo cunhado para injeção de código HTML ou JavaScript no cliente foi Cross-Site Script, ou simplesmente XSS. Isto porque um dos usos que se faz é a transmissão de dados de sessão de um website (cookies, por exemplo) para um domínio controlado pelo atacante, ou seja, cruza de um site para outro.   O problema A vulnerabilidade vem como resultado de uma renderização insegura de uma string maliciosa passada pelo usuário, causando a execução de comandos na máquina da vítima. Além de HTML e Javascript, ainda podemos ter XSS com as linguagens ActiveX, VBScript, e Flash, menos comuns hoje em dia. Vejamos a situação onde ocorre o problema. É semelhante à vulnerabilidade de SQL injection, com a diferença de que este cenário é executado no browser. Imagine que ao digitar o seu nome em um formulário, o website abre uma página...