SlideShare uma empresa Scribd logo
DICA 02
DISCLAIMER
The information contained in this document may be privileged
and confidential and protected from disclosure. If the reader of
this document is not the intended recipient, or an employee
agent responsible for delivering this document to the
intended recipient, you are hereby notified that any
dissemination, distribution or copying of this communication is
strictly prohibited.
Como se prevenir contra o
SQL Injection
Objetivos
• O que é SQL Injection?
• Tipos de SQL Injection
• Como se proteger?
• Conclusão
O que é SQL Injection?
É um ataque que consiste na inserção (conhecido como
injeção) de uma query via aplicação web.
Tais vulnerabilidades estão presentes em códigos.
Este é o caso da "SQL Injection", brecha através da qual
um invasor pode executar queries ou statements
arbitrários numa base relacional via "injeção" de
comandos em campos de formulários.
Tipos de SQL Injection
• Poorly Filtered Strings
• Incorrect type handling
• Blind SQL Injection
• Double Blind SQL Injection
Como se proteger?
• Usando a função addslashes() tem o mesmo efeito que habilitar
magic quotes, porém só aplica onde for conveniente. O que ela faz
é colocar um caracter de escapa antes das aspas simples ou
dupla, antes da barra invertida e do caracter NULL.
• Usar 'prepared statements' ao invés do próprio código SQL
atribuíndo todas as outras medidas de prevenção usar esta, nos
daria mais performace e segurança, além de ser mais simples de
ler e escrever. Porem só pode ser usado em SELECT, INSERT,
UPDATE, REPLACE, DELETE e CREATE TABLE.
Como se proteger?
• $login = $_GET['login'] $query = "SELECT * FROM registos
WHERE login = '$login'";
• Ficaria assim:
• $query = "SELECT * FROM registos WHERE login = OR 1";
• Recomendo
Limitar Privilégios das contas com acesso ao DB. É importante manter
apenas os privilégios e acessos necessários. É comum muitas permissões
serem dadas para resolver problemas de funcionalidade, muito parecido ao
chmod 777 no linux.
Como se proteger?
• Verifique se todo parâmetro passado para o site é tratado
antes que seja concatenado na query. Por exemplo, nunca
faça simplesmente:
• // ASP
consulta = "DELETE FROM tabela WHERE id_tabela = " &
Request.Form("id")
• // PHP
$consulta = "DELETE FROM tabela WHERE id_tabela = " .
$_POST[id];
Como se proteger?
• Em vez disso, trate primeiro o Request.Form("id") ou $_POST[id], como neste
exemplo:
• //ASP
If IsNumeric(Request.Form("id")) Then
consulta = "DELETE FROM tabela WHERE id_tabela = " & Request.Form("id")
Else
Response.Write "Dados Inválidos"
Response.End
End If
Como se proteger?
• Em vez disso, trate primeiro o Request.Form("id") ou $_POST[id], como neste
exemplo:
• //PHP
if (is_numeric($_POST[id])) {
$consulta = "DELETE FROM tabela WHERE id_tabela = " . $_POST[id];
} else {
die("Dados inválidos");
}
Como se proteger?
• Para campos com strings é aconselhável checar pelos caracteres:
• " (aspas duplas)
• ' (aspas simples)
• (espaços)
• ; (ponto e vírgula)
• = (sinal de igual)
• < (sinal de menor que)
• > (sinal de maior que)
• ! (ponto de exclamação)
• -- (dois hifens, indica início de comentário em alguns bancos)
• # (sustenido ou jogo-da-velha, indica início de comentário em alguns bancos)
• // (duas barras, indica início de comentário em alguns bancos)
Como se proteger?
• Para campos com strings é aconselhável checar pelos caracteres:
• - SELECT - INSERT
• - UPDATE - DELETE
• - WHERE - JOIN
• - LEFT - INNER
• - NOT - IN
• - LIKE - TRUNCATE
• - DROP - CREATE
• - ALTER - DELIMITER
Conclusão
TRATE AS ENTRADAS DE DADOS

Mais conteúdo relacionado

Mais procurados

Hunting for AWS Exposed Resources
Hunting for AWS Exposed ResourcesHunting for AWS Exposed Resources
Hunting for AWS Exposed Resources
Tenchi Security
 
Secure Coding 101 - OWASP University of Ottawa Workshop
Secure Coding 101 - OWASP University of Ottawa WorkshopSecure Coding 101 - OWASP University of Ottawa Workshop
Secure Coding 101 - OWASP University of Ottawa Workshop
Paul Ionescu
 
OWASP TOP 10 VULNERABILITIS
OWASP TOP 10 VULNERABILITISOWASP TOP 10 VULNERABILITIS
OWASP TOP 10 VULNERABILITIS
Null Bhubaneswar
 
Experts Live 2022 - Attack Surface Reduction rules...your best ally against r...
Experts Live 2022 - Attack Surface Reduction rules...your best ally against r...Experts Live 2022 - Attack Surface Reduction rules...your best ally against r...
Experts Live 2022 - Attack Surface Reduction rules...your best ally against r...
PimJacobs3
 
Sql injection attack
Sql injection attackSql injection attack
Sql injection attack
Raghav Bisht
 
API Security Best Practices and Guidelines
API Security Best Practices and GuidelinesAPI Security Best Practices and Guidelines
API Security Best Practices and Guidelines
WSO2
 
Android pentesting
Android pentestingAndroid pentesting
Android pentesting
Mykhailo Antonishyn
 
Command injection
Command injectionCommand injection
Command injection
penetration Tester
 
Troopers 19 - I am AD FS and So Can You
Troopers 19 - I am AD FS and So Can YouTroopers 19 - I am AD FS and So Can You
Troopers 19 - I am AD FS and So Can You
Douglas Bienstock
 
Android Application Penetration Testing - Mohammed Adam
Android Application Penetration Testing - Mohammed AdamAndroid Application Penetration Testing - Mohammed Adam
Android Application Penetration Testing - Mohammed Adam
Mohammed Adam
 
Penetration testing web application web application (in) security
Penetration testing web application web application (in) securityPenetration testing web application web application (in) security
Penetration testing web application web application (in) security
Nahidul Kibria
 
Top 10 Web Security Vulnerabilities (OWASP Top 10)
Top 10 Web Security Vulnerabilities (OWASP Top 10)Top 10 Web Security Vulnerabilities (OWASP Top 10)
Top 10 Web Security Vulnerabilities (OWASP Top 10)
Brian Huff
 
Source Code Analysis with SAST
Source Code Analysis with SASTSource Code Analysis with SAST
Source Code Analysis with SAST
Blueinfy Solutions
 
Introduction to WAF and Network Application Security
Introduction to WAF and Network Application SecurityIntroduction to WAF and Network Application Security
Introduction to WAF and Network Application Security
Alibaba Cloud
 
Security Training: #3 Threat Modelling - Practices and Tools
Security Training: #3 Threat Modelling - Practices and ToolsSecurity Training: #3 Threat Modelling - Practices and Tools
Security Training: #3 Threat Modelling - Practices and Tools
Yulian Slobodyan
 
How to Test for The OWASP Top Ten
 How to Test for The OWASP Top Ten How to Test for The OWASP Top Ten
How to Test for The OWASP Top Ten
Security Innovation
 
SQL Injection
SQL Injection SQL Injection
SQL Injection
Adhoura Academy
 
Security Testing for Web Application
Security Testing for Web ApplicationSecurity Testing for Web Application
Security Testing for Web Application
Precise Testing Solution
 
I'm in your cloud... reading everyone's email. Hacking Azure AD via Active Di...
I'm in your cloud... reading everyone's email. Hacking Azure AD via Active Di...I'm in your cloud... reading everyone's email. Hacking Azure AD via Active Di...
I'm in your cloud... reading everyone's email. Hacking Azure AD via Active Di...
DirkjanMollema
 
The Hacker's Guide to NoSQL Injection
The Hacker's Guide to NoSQL InjectionThe Hacker's Guide to NoSQL Injection
The Hacker's Guide to NoSQL Injection
Patrycja Wegrzynowicz
 

Mais procurados (20)

Hunting for AWS Exposed Resources
Hunting for AWS Exposed ResourcesHunting for AWS Exposed Resources
Hunting for AWS Exposed Resources
 
Secure Coding 101 - OWASP University of Ottawa Workshop
Secure Coding 101 - OWASP University of Ottawa WorkshopSecure Coding 101 - OWASP University of Ottawa Workshop
Secure Coding 101 - OWASP University of Ottawa Workshop
 
OWASP TOP 10 VULNERABILITIS
OWASP TOP 10 VULNERABILITISOWASP TOP 10 VULNERABILITIS
OWASP TOP 10 VULNERABILITIS
 
Experts Live 2022 - Attack Surface Reduction rules...your best ally against r...
Experts Live 2022 - Attack Surface Reduction rules...your best ally against r...Experts Live 2022 - Attack Surface Reduction rules...your best ally against r...
Experts Live 2022 - Attack Surface Reduction rules...your best ally against r...
 
Sql injection attack
Sql injection attackSql injection attack
Sql injection attack
 
API Security Best Practices and Guidelines
API Security Best Practices and GuidelinesAPI Security Best Practices and Guidelines
API Security Best Practices and Guidelines
 
Android pentesting
Android pentestingAndroid pentesting
Android pentesting
 
Command injection
Command injectionCommand injection
Command injection
 
Troopers 19 - I am AD FS and So Can You
Troopers 19 - I am AD FS and So Can YouTroopers 19 - I am AD FS and So Can You
Troopers 19 - I am AD FS and So Can You
 
Android Application Penetration Testing - Mohammed Adam
Android Application Penetration Testing - Mohammed AdamAndroid Application Penetration Testing - Mohammed Adam
Android Application Penetration Testing - Mohammed Adam
 
Penetration testing web application web application (in) security
Penetration testing web application web application (in) securityPenetration testing web application web application (in) security
Penetration testing web application web application (in) security
 
Top 10 Web Security Vulnerabilities (OWASP Top 10)
Top 10 Web Security Vulnerabilities (OWASP Top 10)Top 10 Web Security Vulnerabilities (OWASP Top 10)
Top 10 Web Security Vulnerabilities (OWASP Top 10)
 
Source Code Analysis with SAST
Source Code Analysis with SASTSource Code Analysis with SAST
Source Code Analysis with SAST
 
Introduction to WAF and Network Application Security
Introduction to WAF and Network Application SecurityIntroduction to WAF and Network Application Security
Introduction to WAF and Network Application Security
 
Security Training: #3 Threat Modelling - Practices and Tools
Security Training: #3 Threat Modelling - Practices and ToolsSecurity Training: #3 Threat Modelling - Practices and Tools
Security Training: #3 Threat Modelling - Practices and Tools
 
How to Test for The OWASP Top Ten
 How to Test for The OWASP Top Ten How to Test for The OWASP Top Ten
How to Test for The OWASP Top Ten
 
SQL Injection
SQL Injection SQL Injection
SQL Injection
 
Security Testing for Web Application
Security Testing for Web ApplicationSecurity Testing for Web Application
Security Testing for Web Application
 
I'm in your cloud... reading everyone's email. Hacking Azure AD via Active Di...
I'm in your cloud... reading everyone's email. Hacking Azure AD via Active Di...I'm in your cloud... reading everyone's email. Hacking Azure AD via Active Di...
I'm in your cloud... reading everyone's email. Hacking Azure AD via Active Di...
 
The Hacker's Guide to NoSQL Injection
The Hacker's Guide to NoSQL InjectionThe Hacker's Guide to NoSQL Injection
The Hacker's Guide to NoSQL Injection
 

Semelhante a Dica 02 - Como mitigar os ataques de SQL Injection em aplicações WEB

Web App Flaws - SQL Injection
Web App Flaws - SQL InjectionWeb App Flaws - SQL Injection
Web App Flaws - SQL Injection
David Gomes Guimarães
 
Web app flaws
Web app flawsWeb app flaws
Web app flaws
David Guimarães
 
A1 - Sql Injection na Prática Parte 01
A1 - Sql Injection na Prática Parte 01A1 - Sql Injection na Prática Parte 01
A1 - Sql Injection na Prática Parte 01
Reinaldo Junior
 
Palestra em parceria com o @cefet_rj – Auditoria Teste de Invasão em Aplicações
Palestra em parceria com o @cefet_rj – Auditoria Teste de Invasão em AplicaçõesPalestra em parceria com o @cefet_rj – Auditoria Teste de Invasão em Aplicações
Palestra em parceria com o @cefet_rj – Auditoria Teste de Invasão em Aplicações
Clavis Segurança da Informação
 
Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferre...
Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferre...Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferre...
Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferre...
Clavis Segurança da Informação
 
Google hacking e SQL Injection: Tudo junto e misturado!
Google hacking e SQL Injection: Tudo junto e misturado!Google hacking e SQL Injection: Tudo junto e misturado!
Google hacking e SQL Injection: Tudo junto e misturado!
Alcyon Ferreira de Souza Junior, MSc
 
Sql injection
Sql injectionSql injection
Sql injection
Tiago Natel de Moura
 
Owasp web app_flaws
Owasp web app_flawsOwasp web app_flaws
Owasp web app_flaws
David Gomes Guimarães
 
Defensive Programming - by Alcyon Junior
Defensive Programming - by Alcyon JuniorDefensive Programming - by Alcyon Junior
Defensive Programming - by Alcyon Junior
Alcyon Ferreira de Souza Junior, MSc
 
Segurança Web: O MMA da Tecnologia
Segurança Web: O MMA da TecnologiaSegurança Web: O MMA da Tecnologia
Segurança Web: O MMA da Tecnologia
Carlos Nilton Araújo Corrêa
 
AppSec Latam 2011 - Treinamento OWASP Top 10 + JavaEE
AppSec Latam 2011 - Treinamento OWASP Top 10 + JavaEEAppSec Latam 2011 - Treinamento OWASP Top 10 + JavaEE
AppSec Latam 2011 - Treinamento OWASP Top 10 + JavaEE
Magno Logan
 
Segurança em Aplicações Web
Segurança em Aplicações WebSegurança em Aplicações Web
Segurança em Aplicações Web
Cassio Ramos
 
Apresentação Ismael Rocha e Fabricio Braz
Apresentação Ismael Rocha e Fabricio BrazApresentação Ismael Rocha e Fabricio Braz
Apresentação Ismael Rocha e Fabricio Braz
OWASP Brasília
 
OWASP Top 10 - Experiência e Cases com Auditorias Teste de Invasão em Aplicaç...
OWASP Top 10 - Experiência e Cases com Auditorias Teste de Invasão em Aplicaç...OWASP Top 10 - Experiência e Cases com Auditorias Teste de Invasão em Aplicaç...
OWASP Top 10 - Experiência e Cases com Auditorias Teste de Invasão em Aplicaç...
Clavis Segurança da Informação
 
AppSec Brazil 2010 - Utilizando a ESAPI para prover Segurança em Aplicações W...
AppSec Brazil 2010 - Utilizando a ESAPI para prover Segurança em Aplicações W...AppSec Brazil 2010 - Utilizando a ESAPI para prover Segurança em Aplicações W...
AppSec Brazil 2010 - Utilizando a ESAPI para prover Segurança em Aplicações W...
Magno Logan
 
Segurança Web com PHP5
Segurança Web com PHP5Segurança Web com PHP5
Segurança Web com PHP5
Douglas V. Pasqua
 
PHP & Segurança: Blindando Aplicações Web - Rafael Jaques - Tchelinux Bento G...
PHP & Segurança: Blindando Aplicações Web - Rafael Jaques - Tchelinux Bento G...PHP & Segurança: Blindando Aplicações Web - Rafael Jaques - Tchelinux Bento G...
PHP & Segurança: Blindando Aplicações Web - Rafael Jaques - Tchelinux Bento G...
Tchelinux
 
Teste de segurança do lado servidor - Nível 1
Teste de segurança do lado servidor - Nível 1Teste de segurança do lado servidor - Nível 1
Teste de segurança do lado servidor - Nível 1
Kleitor Franklint Correa Araujo
 
Google Hacking e SQL Injection: Tudo junto e misturado!
Google Hacking e SQL Injection: Tudo junto e misturado!Google Hacking e SQL Injection: Tudo junto e misturado!
Google Hacking e SQL Injection: Tudo junto e misturado!
Alcyon Ferreira de Souza Junior, MSc
 
Ameacas e Vulnerabilidades em Apps Web-2013
Ameacas e Vulnerabilidades em Apps Web-2013Ameacas e Vulnerabilidades em Apps Web-2013
Ameacas e Vulnerabilidades em Apps Web-2013
Kleitor Franklint Correa Araujo
 

Semelhante a Dica 02 - Como mitigar os ataques de SQL Injection em aplicações WEB (20)

Web App Flaws - SQL Injection
Web App Flaws - SQL InjectionWeb App Flaws - SQL Injection
Web App Flaws - SQL Injection
 
Web app flaws
Web app flawsWeb app flaws
Web app flaws
 
A1 - Sql Injection na Prática Parte 01
A1 - Sql Injection na Prática Parte 01A1 - Sql Injection na Prática Parte 01
A1 - Sql Injection na Prática Parte 01
 
Palestra em parceria com o @cefet_rj – Auditoria Teste de Invasão em Aplicações
Palestra em parceria com o @cefet_rj – Auditoria Teste de Invasão em AplicaçõesPalestra em parceria com o @cefet_rj – Auditoria Teste de Invasão em Aplicações
Palestra em parceria com o @cefet_rj – Auditoria Teste de Invasão em Aplicações
 
Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferre...
Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferre...Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferre...
Tutorial: Principais Vulnerabilidades em Aplicações Web – Rafael Soares Ferre...
 
Google hacking e SQL Injection: Tudo junto e misturado!
Google hacking e SQL Injection: Tudo junto e misturado!Google hacking e SQL Injection: Tudo junto e misturado!
Google hacking e SQL Injection: Tudo junto e misturado!
 
Sql injection
Sql injectionSql injection
Sql injection
 
Owasp web app_flaws
Owasp web app_flawsOwasp web app_flaws
Owasp web app_flaws
 
Defensive Programming - by Alcyon Junior
Defensive Programming - by Alcyon JuniorDefensive Programming - by Alcyon Junior
Defensive Programming - by Alcyon Junior
 
Segurança Web: O MMA da Tecnologia
Segurança Web: O MMA da TecnologiaSegurança Web: O MMA da Tecnologia
Segurança Web: O MMA da Tecnologia
 
AppSec Latam 2011 - Treinamento OWASP Top 10 + JavaEE
AppSec Latam 2011 - Treinamento OWASP Top 10 + JavaEEAppSec Latam 2011 - Treinamento OWASP Top 10 + JavaEE
AppSec Latam 2011 - Treinamento OWASP Top 10 + JavaEE
 
Segurança em Aplicações Web
Segurança em Aplicações WebSegurança em Aplicações Web
Segurança em Aplicações Web
 
Apresentação Ismael Rocha e Fabricio Braz
Apresentação Ismael Rocha e Fabricio BrazApresentação Ismael Rocha e Fabricio Braz
Apresentação Ismael Rocha e Fabricio Braz
 
OWASP Top 10 - Experiência e Cases com Auditorias Teste de Invasão em Aplicaç...
OWASP Top 10 - Experiência e Cases com Auditorias Teste de Invasão em Aplicaç...OWASP Top 10 - Experiência e Cases com Auditorias Teste de Invasão em Aplicaç...
OWASP Top 10 - Experiência e Cases com Auditorias Teste de Invasão em Aplicaç...
 
AppSec Brazil 2010 - Utilizando a ESAPI para prover Segurança em Aplicações W...
AppSec Brazil 2010 - Utilizando a ESAPI para prover Segurança em Aplicações W...AppSec Brazil 2010 - Utilizando a ESAPI para prover Segurança em Aplicações W...
AppSec Brazil 2010 - Utilizando a ESAPI para prover Segurança em Aplicações W...
 
Segurança Web com PHP5
Segurança Web com PHP5Segurança Web com PHP5
Segurança Web com PHP5
 
PHP & Segurança: Blindando Aplicações Web - Rafael Jaques - Tchelinux Bento G...
PHP & Segurança: Blindando Aplicações Web - Rafael Jaques - Tchelinux Bento G...PHP & Segurança: Blindando Aplicações Web - Rafael Jaques - Tchelinux Bento G...
PHP & Segurança: Blindando Aplicações Web - Rafael Jaques - Tchelinux Bento G...
 
Teste de segurança do lado servidor - Nível 1
Teste de segurança do lado servidor - Nível 1Teste de segurança do lado servidor - Nível 1
Teste de segurança do lado servidor - Nível 1
 
Google Hacking e SQL Injection: Tudo junto e misturado!
Google Hacking e SQL Injection: Tudo junto e misturado!Google Hacking e SQL Injection: Tudo junto e misturado!
Google Hacking e SQL Injection: Tudo junto e misturado!
 
Ameacas e Vulnerabilidades em Apps Web-2013
Ameacas e Vulnerabilidades em Apps Web-2013Ameacas e Vulnerabilidades em Apps Web-2013
Ameacas e Vulnerabilidades em Apps Web-2013
 

Mais de Alcyon Ferreira de Souza Junior, MSc

Defensive programming - MindTheSec São Paulo 2019
Defensive programming - MindTheSec São Paulo 2019Defensive programming - MindTheSec São Paulo 2019
Defensive programming - MindTheSec São Paulo 2019
Alcyon Ferreira de Souza Junior, MSc
 
Como se tornar um especialista em Desenvolvimento Seguro de Software
Como se tornar um especialista em Desenvolvimento Seguro de SoftwareComo se tornar um especialista em Desenvolvimento Seguro de Software
Como se tornar um especialista em Desenvolvimento Seguro de Software
Alcyon Ferreira de Souza Junior, MSc
 
Explorando 5 falhas graves de segurança que todos programadores cometem
Explorando 5 falhas graves de segurança que todos programadores cometem Explorando 5 falhas graves de segurança que todos programadores cometem
Explorando 5 falhas graves de segurança que todos programadores cometem
Alcyon Ferreira de Souza Junior, MSc
 
Desenvolvimento seguro - WorkSec 2019
Desenvolvimento seguro - WorkSec 2019Desenvolvimento seguro - WorkSec 2019
Desenvolvimento seguro - WorkSec 2019
Alcyon Ferreira de Souza Junior, MSc
 
Explorando 5 falhas graves de segurança que os programadores sempre cometem
Explorando 5 falhas graves de segurança que os programadores sempre cometemExplorando 5 falhas graves de segurança que os programadores sempre cometem
Explorando 5 falhas graves de segurança que os programadores sempre cometem
Alcyon Ferreira de Souza Junior, MSc
 
Dica 01 - Hash de Senhas e sua utilização Segura
Dica 01 - Hash de Senhas e sua utilização SeguraDica 01 - Hash de Senhas e sua utilização Segura
Dica 01 - Hash de Senhas e sua utilização Segura
Alcyon Ferreira de Souza Junior, MSc
 
Mapa mental de Desenvolvimento seguro de software
Mapa mental de Desenvolvimento seguro de softwareMapa mental de Desenvolvimento seguro de software
Mapa mental de Desenvolvimento seguro de software
Alcyon Ferreira de Souza Junior, MSc
 
A nova onda da Segurança Cibernética e seus times coloridos
A nova onda da Segurança Cibernética e seus times coloridosA nova onda da Segurança Cibernética e seus times coloridos
A nova onda da Segurança Cibernética e seus times coloridos
Alcyon Ferreira de Souza Junior, MSc
 
Como hackear tudo! na Campus Party BSB 2
Como hackear tudo! na Campus Party BSB 2Como hackear tudo! na Campus Party BSB 2
Como hackear tudo! na Campus Party BSB 2
Alcyon Ferreira de Souza Junior, MSc
 
SEGURANÇA DA INFORMAÇÃO​ E A TRANSFORMAÇÃO DIGITAL: COMO SOBREVIVER NESTE NOV...
SEGURANÇA DA INFORMAÇÃO​ E A TRANSFORMAÇÃO DIGITAL: COMO SOBREVIVER NESTE NOV...SEGURANÇA DA INFORMAÇÃO​ E A TRANSFORMAÇÃO DIGITAL: COMO SOBREVIVER NESTE NOV...
SEGURANÇA DA INFORMAÇÃO​ E A TRANSFORMAÇÃO DIGITAL: COMO SOBREVIVER NESTE NOV...
Alcyon Ferreira de Souza Junior, MSc
 
7 segredos para a criação de malware - Campus Party Brasil 2018
7 segredos para a criação de malware - Campus Party Brasil 20187 segredos para a criação de malware - Campus Party Brasil 2018
7 segredos para a criação de malware - Campus Party Brasil 2018
Alcyon Ferreira de Souza Junior, MSc
 
7 segredos sobre o PenTest e software livre - VI Engitec
7 segredos sobre o PenTest e software livre - VI Engitec 7 segredos sobre o PenTest e software livre - VI Engitec
7 segredos sobre o PenTest e software livre - VI Engitec
Alcyon Ferreira de Souza Junior, MSc
 
PenTest com Kali linux - VI Engitec
PenTest com Kali linux - VI EngitecPenTest com Kali linux - VI Engitec
PenTest com Kali linux - VI Engitec
Alcyon Ferreira de Souza Junior, MSc
 
Red Teaming and Alternative Analysis
Red Teaming and Alternative AnalysisRed Teaming and Alternative Analysis
Red Teaming and Alternative Analysis
Alcyon Ferreira de Souza Junior, MSc
 
PenTest com Kali Linux - Palestra na UPIS 2014
PenTest com Kali Linux - Palestra na UPIS 2014PenTest com Kali Linux - Palestra na UPIS 2014
PenTest com Kali Linux - Palestra na UPIS 2014
Alcyon Ferreira de Souza Junior, MSc
 
Segurança da Informação na era do software livre - Volday III
Segurança da Informação na era do software livre - Volday IIISegurança da Informação na era do software livre - Volday III
Segurança da Informação na era do software livre - Volday III
Alcyon Ferreira de Souza Junior, MSc
 
Pentest com Kali Linux - LatinoWare 2015
Pentest com Kali Linux  - LatinoWare 2015Pentest com Kali Linux  - LatinoWare 2015
Pentest com Kali Linux - LatinoWare 2015
Alcyon Ferreira de Souza Junior, MSc
 
Palestra alcyon junior - LatinoWare 2016
Palestra alcyon junior - LatinoWare 2016Palestra alcyon junior - LatinoWare 2016
Palestra alcyon junior - LatinoWare 2016
Alcyon Ferreira de Souza Junior, MSc
 
7 segredos para a criação de malware - LatinoWare 2017
7 segredos para a criação de malware - LatinoWare 20177 segredos para a criação de malware - LatinoWare 2017
7 segredos para a criação de malware - LatinoWare 2017
Alcyon Ferreira de Souza Junior, MSc
 
Segurança cibernetica na era do software livre utilizando o BackTrack - Debi...
Segurança cibernetica na era do software livre utilizando o BackTrack - Debi...Segurança cibernetica na era do software livre utilizando o BackTrack - Debi...
Segurança cibernetica na era do software livre utilizando o BackTrack - Debi...
Alcyon Ferreira de Souza Junior, MSc
 

Mais de Alcyon Ferreira de Souza Junior, MSc (20)

Defensive programming - MindTheSec São Paulo 2019
Defensive programming - MindTheSec São Paulo 2019Defensive programming - MindTheSec São Paulo 2019
Defensive programming - MindTheSec São Paulo 2019
 
Como se tornar um especialista em Desenvolvimento Seguro de Software
Como se tornar um especialista em Desenvolvimento Seguro de SoftwareComo se tornar um especialista em Desenvolvimento Seguro de Software
Como se tornar um especialista em Desenvolvimento Seguro de Software
 
Explorando 5 falhas graves de segurança que todos programadores cometem
Explorando 5 falhas graves de segurança que todos programadores cometem Explorando 5 falhas graves de segurança que todos programadores cometem
Explorando 5 falhas graves de segurança que todos programadores cometem
 
Desenvolvimento seguro - WorkSec 2019
Desenvolvimento seguro - WorkSec 2019Desenvolvimento seguro - WorkSec 2019
Desenvolvimento seguro - WorkSec 2019
 
Explorando 5 falhas graves de segurança que os programadores sempre cometem
Explorando 5 falhas graves de segurança que os programadores sempre cometemExplorando 5 falhas graves de segurança que os programadores sempre cometem
Explorando 5 falhas graves de segurança que os programadores sempre cometem
 
Dica 01 - Hash de Senhas e sua utilização Segura
Dica 01 - Hash de Senhas e sua utilização SeguraDica 01 - Hash de Senhas e sua utilização Segura
Dica 01 - Hash de Senhas e sua utilização Segura
 
Mapa mental de Desenvolvimento seguro de software
Mapa mental de Desenvolvimento seguro de softwareMapa mental de Desenvolvimento seguro de software
Mapa mental de Desenvolvimento seguro de software
 
A nova onda da Segurança Cibernética e seus times coloridos
A nova onda da Segurança Cibernética e seus times coloridosA nova onda da Segurança Cibernética e seus times coloridos
A nova onda da Segurança Cibernética e seus times coloridos
 
Como hackear tudo! na Campus Party BSB 2
Como hackear tudo! na Campus Party BSB 2Como hackear tudo! na Campus Party BSB 2
Como hackear tudo! na Campus Party BSB 2
 
SEGURANÇA DA INFORMAÇÃO​ E A TRANSFORMAÇÃO DIGITAL: COMO SOBREVIVER NESTE NOV...
SEGURANÇA DA INFORMAÇÃO​ E A TRANSFORMAÇÃO DIGITAL: COMO SOBREVIVER NESTE NOV...SEGURANÇA DA INFORMAÇÃO​ E A TRANSFORMAÇÃO DIGITAL: COMO SOBREVIVER NESTE NOV...
SEGURANÇA DA INFORMAÇÃO​ E A TRANSFORMAÇÃO DIGITAL: COMO SOBREVIVER NESTE NOV...
 
7 segredos para a criação de malware - Campus Party Brasil 2018
7 segredos para a criação de malware - Campus Party Brasil 20187 segredos para a criação de malware - Campus Party Brasil 2018
7 segredos para a criação de malware - Campus Party Brasil 2018
 
7 segredos sobre o PenTest e software livre - VI Engitec
7 segredos sobre o PenTest e software livre - VI Engitec 7 segredos sobre o PenTest e software livre - VI Engitec
7 segredos sobre o PenTest e software livre - VI Engitec
 
PenTest com Kali linux - VI Engitec
PenTest com Kali linux - VI EngitecPenTest com Kali linux - VI Engitec
PenTest com Kali linux - VI Engitec
 
Red Teaming and Alternative Analysis
Red Teaming and Alternative AnalysisRed Teaming and Alternative Analysis
Red Teaming and Alternative Analysis
 
PenTest com Kali Linux - Palestra na UPIS 2014
PenTest com Kali Linux - Palestra na UPIS 2014PenTest com Kali Linux - Palestra na UPIS 2014
PenTest com Kali Linux - Palestra na UPIS 2014
 
Segurança da Informação na era do software livre - Volday III
Segurança da Informação na era do software livre - Volday IIISegurança da Informação na era do software livre - Volday III
Segurança da Informação na era do software livre - Volday III
 
Pentest com Kali Linux - LatinoWare 2015
Pentest com Kali Linux  - LatinoWare 2015Pentest com Kali Linux  - LatinoWare 2015
Pentest com Kali Linux - LatinoWare 2015
 
Palestra alcyon junior - LatinoWare 2016
Palestra alcyon junior - LatinoWare 2016Palestra alcyon junior - LatinoWare 2016
Palestra alcyon junior - LatinoWare 2016
 
7 segredos para a criação de malware - LatinoWare 2017
7 segredos para a criação de malware - LatinoWare 20177 segredos para a criação de malware - LatinoWare 2017
7 segredos para a criação de malware - LatinoWare 2017
 
Segurança cibernetica na era do software livre utilizando o BackTrack - Debi...
Segurança cibernetica na era do software livre utilizando o BackTrack - Debi...Segurança cibernetica na era do software livre utilizando o BackTrack - Debi...
Segurança cibernetica na era do software livre utilizando o BackTrack - Debi...
 

Dica 02 - Como mitigar os ataques de SQL Injection em aplicações WEB

  • 2. DISCLAIMER The information contained in this document may be privileged and confidential and protected from disclosure. If the reader of this document is not the intended recipient, or an employee agent responsible for delivering this document to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this communication is strictly prohibited.
  • 3. Como se prevenir contra o SQL Injection
  • 4. Objetivos • O que é SQL Injection? • Tipos de SQL Injection • Como se proteger? • Conclusão
  • 5. O que é SQL Injection? É um ataque que consiste na inserção (conhecido como injeção) de uma query via aplicação web. Tais vulnerabilidades estão presentes em códigos. Este é o caso da "SQL Injection", brecha através da qual um invasor pode executar queries ou statements arbitrários numa base relacional via "injeção" de comandos em campos de formulários.
  • 6. Tipos de SQL Injection • Poorly Filtered Strings • Incorrect type handling • Blind SQL Injection • Double Blind SQL Injection
  • 7. Como se proteger? • Usando a função addslashes() tem o mesmo efeito que habilitar magic quotes, porém só aplica onde for conveniente. O que ela faz é colocar um caracter de escapa antes das aspas simples ou dupla, antes da barra invertida e do caracter NULL. • Usar 'prepared statements' ao invés do próprio código SQL atribuíndo todas as outras medidas de prevenção usar esta, nos daria mais performace e segurança, além de ser mais simples de ler e escrever. Porem só pode ser usado em SELECT, INSERT, UPDATE, REPLACE, DELETE e CREATE TABLE.
  • 8. Como se proteger? • $login = $_GET['login'] $query = "SELECT * FROM registos WHERE login = '$login'"; • Ficaria assim: • $query = "SELECT * FROM registos WHERE login = OR 1"; • Recomendo Limitar Privilégios das contas com acesso ao DB. É importante manter apenas os privilégios e acessos necessários. É comum muitas permissões serem dadas para resolver problemas de funcionalidade, muito parecido ao chmod 777 no linux.
  • 9. Como se proteger? • Verifique se todo parâmetro passado para o site é tratado antes que seja concatenado na query. Por exemplo, nunca faça simplesmente: • // ASP consulta = "DELETE FROM tabela WHERE id_tabela = " & Request.Form("id") • // PHP $consulta = "DELETE FROM tabela WHERE id_tabela = " . $_POST[id];
  • 10. Como se proteger? • Em vez disso, trate primeiro o Request.Form("id") ou $_POST[id], como neste exemplo: • //ASP If IsNumeric(Request.Form("id")) Then consulta = "DELETE FROM tabela WHERE id_tabela = " & Request.Form("id") Else Response.Write "Dados Inválidos" Response.End End If
  • 11. Como se proteger? • Em vez disso, trate primeiro o Request.Form("id") ou $_POST[id], como neste exemplo: • //PHP if (is_numeric($_POST[id])) { $consulta = "DELETE FROM tabela WHERE id_tabela = " . $_POST[id]; } else { die("Dados inválidos"); }
  • 12. Como se proteger? • Para campos com strings é aconselhável checar pelos caracteres: • " (aspas duplas) • ' (aspas simples) • (espaços) • ; (ponto e vírgula) • = (sinal de igual) • < (sinal de menor que) • > (sinal de maior que) • ! (ponto de exclamação) • -- (dois hifens, indica início de comentário em alguns bancos) • # (sustenido ou jogo-da-velha, indica início de comentário em alguns bancos) • // (duas barras, indica início de comentário em alguns bancos)
  • 13. Como se proteger? • Para campos com strings é aconselhável checar pelos caracteres: • - SELECT - INSERT • - UPDATE - DELETE • - WHERE - JOIN • - LEFT - INNER • - NOT - IN • - LIKE - TRUNCATE • - DROP - CREATE • - ALTER - DELIMITER

Notas do Editor

  1. Page 1
  2. Page 2
  3. Objetivos Explicar a importância do Princípio de Kerckhoff, Manejo de Chaves e Aleatoriedade. Descrever a criptografia de chave pública, ataques de homem do meio e certificados. Reconhecer as ameaças a SSL/TLS/HTTPS. Aplicar HTTPS corretamente.
  4. Especificação 6.1.1 Explicar a importância do Princípio de Kerckhoffs, do Gerenciamento de Chave e da Aleatoriedade. Discutir o princípio de Kerckhoffs. Ver a seção 6 do workbook. Explicar os termos de Criptografia - Confidencialidade - Integridade - Autenticação - Não Repúdio - Assinatura Digital
  5. Especificação 6.1.1 Explicar a importância do Princípio de Kerckhoffs, do Gerenciamento de Chave e da Aleatoriedade. Discutir o princípio de Kerckhoffs. Ver a seção 6 do workbook. Explicar os termos de Criptografia - Confidencialidade - Integridade - Autenticação - Não Repúdio - Assinatura Digital
  6. Especificação 6.1.1 Explicar a importância do Princípio de Kerckhoffs, do Gerenciamento de Chave e da Aleatoriedade. Discutir o princípio de Kerckhoffs. Ver a seção 6 do workbook. Explicar os termos de Criptografia - Confidencialidade - Integridade - Autenticação - Não Repúdio - Assinatura Digital
  7. Especificação 6.1.1 Explicar a importância do Princípio de Kerckhoffs, do Gerenciamento de Chave e da Aleatoriedade. Discutir o princípio de Kerckhoffs. Ver a seção 6 do workbook. Explicar os termos de Criptografia - Confidencialidade - Integridade - Autenticação - Não Repúdio - Assinatura Digital
  8. Especificação 6.1.1 Explicar a importância do Princípio de Kerckhoffs, do Gerenciamento de Chave e da Aleatoriedade. Discutir o princípio de Kerckhoffs. Ver a seção 6 do workbook. Explicar os termos de Criptografia - Confidencialidade - Integridade - Autenticação - Não Repúdio - Assinatura Digital
  9. Especificação 6.1.1 Explicar a importância do Princípio de Kerckhoffs, do Gerenciamento de Chave e da Aleatoriedade. Discutir o princípio de Kerckhoffs. Ver a seção 6 do workbook. Explicar os termos de Criptografia - Confidencialidade - Integridade - Autenticação - Não Repúdio - Assinatura Digital
  10. Especificação 6.1.1 Explicar a importância do Princípio de Kerckhoffs, do Gerenciamento de Chave e da Aleatoriedade. Discutir o princípio de Kerckhoffs. Ver a seção 6 do workbook. Explicar os termos de Criptografia - Confidencialidade - Integridade - Autenticação - Não Repúdio - Assinatura Digital
  11. Especificação 6.1.1 Explicar a importância do Princípio de Kerckhoffs, do Gerenciamento de Chave e da Aleatoriedade. Discutir o princípio de Kerckhoffs. Ver a seção 6 do workbook. Explicar os termos de Criptografia - Confidencialidade - Integridade - Autenticação - Não Repúdio - Assinatura Digital
  12. Especificação 6.1.1 Explicar a importância do Princípio de Kerckhoffs, do Gerenciamento de Chave e da Aleatoriedade. Discutir o princípio de Kerckhoffs. Ver a seção 6 do workbook. Explicar os termos de Criptografia - Confidencialidade - Integridade - Autenticação - Não Repúdio - Assinatura Digital
  13. Especificação 6.1.1 Explicar a importância do Princípio de Kerckhoffs, do Gerenciamento de Chave e da Aleatoriedade. Discutir o princípio de Kerckhoffs. Ver a seção 6 do workbook. Explicar os termos de Criptografia - Confidencialidade - Integridade - Autenticação - Não Repúdio - Assinatura Digital