Usar variáveis de sessão E não de biscoitos
Um erro que muitos desenvolvedores cometem é usar biscoitos, pequenos arquivos de texto que armazenam informações sobre nossas tarefas na internet, acessos, etc.
Está biscoitos pode ser facilmente lido em qualquer navegador, por exemplo, em Raposa de fogo com firebug ou em cromada com o botão direito então vamos para o menu Inspecionar elemento.
Na imagem podemos ver um exemplo de como o programador criou um cookie para o login do usuário e expõe os dados de acesso publicamente.
A imagem a seguir é outro exemplo pior que o Google indexou os acessos com os usuários e senhas.
A coisa correta a fazer é usar sessões onde os dados são codificados.
Esta é a aparência da variável de sessão codificada, muito mais segura porque é difícil de ler:
phpsessid= sb85p15841p6l1dfg7oo8hlsc85;
Então em cada tela estamos verificando a sessão em cada página que abrimos, presumimos que será uma área restrita.[tamanho = 4] [/ tamanho]
As sessões não são uma solução completa, pois outro método de hacking é Seqüestro de sessão ou Spoofing de sessão. Isso ocorre se um invasor ler o valor da sessão enquanto estiver conectado e tentar acessá-la de outro computador.
Para evitar isso podemos criar sessões que salvam os dados do equipamento onde o usuário está logado.
Com o código anterior estabelecemos uma sessão que salva o IP e o navegador de onde a web foi acessada, a seguir verificamos se enquanto a sessão está ativa alguém tenta logar de outro IP ou outro navegador não conseguirá acessar o rede
[tamanho = 4] [/ tamanho]
Algo assim faz o Facebook, se você acessa de outro dispositivo ou de outro IP em outra cidade, pois está salvando de qual local você acessa com frequência.
Casos de teste de injeção de XSS e SQL
Uma maneira de encontrar sites vulneráveis é colocar no mecanismo de pesquisa info_page.php = ou catalogo.php =
PROLONGAR
Isso nos dará uma lista de sites vulneráveis, qualquer site que termine com .php? Variable = pode ser vulnerável.Para testar se ele é vulnerável, escrevemos o url sem valor na variável de exemplo:
mydomain.com/info_page.php?id=
Se a web estiver vulnerável, ela responderá com um erro mysql que dirá o seguinte:Você tem um erro em sua sintaxe SQL; verifique o manual que corresponde à versão do seu servidor MySQL para a sintaxe correta para usar próximo a '' na linha 1
Se encontrarmos um domínio com essa vulnerabilidade, podemos testar, se encontrarmos a tabela de usuários ou administradores e quantas colunas ela possui:
www.mydomain / info_page.php? id = -1 + union + all + select + 1,2,3, group_concat (user_name, 0x3a,
do utilizador_senha), 5 + de + administradores
Neste caso ele retornará a senha e o usuário administrador, para evitar injeção de SQL, você deve usar sessão e não parâmetros por url, no caso de utilizá-los limpe os parâmetros com alguma função ou classe que verifique que não existem comandos sql, ou javascript no parâmetro que é enviado por formulário ou por url.Gostou e ajudou este tutorial?Você pode recompensar o autor pressionando este botão para dar a ele um ponto positivo