ATPS Software Seguro - Etapa 3
Artigos Científicos: ATPS Software Seguro - Etapa 3. Pesquise 862.000+ trabalhos acadêmicosPor: leeogvieira • 26/11/2013 • 999 Palavras (4 Páginas) • 695 Visualizações
FACULDADE ANHANGUERA DE BELO HORIZONTE
ATPS: SOFTWARE SEGURO
3ª Etapa
Belo Horizonte
31/10/13
SUMÁRIO
1 ETAPA 3 ..................................................................................................... 3
1.1 PASSO 1 .................................................................................................... 4
2.1 PASSO 2 ................................................................................................... 5
2.1.1 Desenvolvimento ........................................................................................ 5
3.1 PASSO 3 ................................................................................................... 7
3.1.1 Desenvolvimento ........................................................................................ 7
4.1 PASSO 1 ....................................................................................................10
4.1.1 Desenvolvimento ....................................................................................... 10
REFERÊNCIAS ................................................................................................... 12
ETAPA 3
(Tempo para realização: 4 horas)
Aula-tema: Técnicas Seguras de Codificação: Entrada Mal-intencionada, Entrada no Banco de Dados, Entrada Específicas da Web.
Essa atividade é importante para que você compreenda alguns métodos de entrada mal-intencionada e formas de acesso indevido ao banco de dados.
Para realizá-la, é importante seguir os passos descritos.
1.1 PASSO 1
Passo 1 (Aluno)
Ler atentamente os capítulos do livro texto ou complementar sobre Metodologia de Hacking e Ataques em aplicações Web.
2.1 PASSO 2
(Equipe)
Analisar o trecho da linguagem SQL (Structured Query Language) a seguir. Em seguida pesquisar mais três exemplos de ataques utilizando SQL INJECTION.
Esse trecho de SQL é uma das formas de realizar um ataque a banco de dados de sistemas Web chamado SQL INJECTION.
2.1.1 Desenvolvimento
Exemplo: 1
UNION SELECT @@version,NULL,NULL
Usado para extrair a versão do banco de dados
Exemplo: 2
http://www.alvo.com/news.php?id=5 union all select 1,2,3
O exemplo acima vai possibilitar ao “Injectador” visualizar todas as informações contidas nas Colunas/Tabelas 1, 2 e 3 do banco de dados
Exemplo: 3
dummytext ' OR ' a ' = ' a
A consulta apresentaria a lista de todos os usuários existentes na tabela de usuário.
Exemplo: 4
dummytext ' ; DROP table jos_users; SELECT * FROM jos_poll where title = '
A consulta resultaria na exclusão da tabela de usuário.
Exemplo: 5
' OR 1=1 #
’ OR ‘1’=‘1
’ OR ‘a’=‘a
’ OR ‘1
’ OR ‘’=‘
Usados para ter acesso ao sistema
3.1 PASSO 3
(Equipe)
Pesquisar como evitar ataques SQL INJECTION utilizando as linguagens PHP, ASP e JSP (JavaServer Pages).
3.1.1 Desenvolvimento
PHP:
Usar a função nativa do PHP addslashes($str) para substituir o caractere ‘ por \’ vindos de campos de texto do formulário.
Public function GetUser($st_user,$st_pass)
{
$st_user=addslashes($st_user);
$st_pass= addslashes($st_pass);
$st_query=*SELECT
usu_int_id,
usu_st_nome,
usu_st_login,
usu_st_email,
FROM control.tbl_usuario
WHERE usu_st_login= ‘$st_user’
AND usu_st_password= md5(‘$st_pass’)
AND usu_bo_status=TRUE,
}
Outro exemplo PHP:
Um tratamento básico para a execução de querys com variáveis contendo valores informados pelo usuário (ALVES, 2007):
$usuario = $_POST['usuario'];$senha = $_POST['senha'];$usuario_escape = addslashes($usuario);$senha_escape = addslashes($senha);$query_string = "SELECT * FROM usuarios WHERE codigo = '{$usuario_escape}' AND senha = '{$senha_escape}'";?>
Através
...