Aula 47 | Back-End por trás do SQL Injection
Back-End por trás do SQL Injection
Resumo de SQL Injection
SQL Injection é um ataque em que um atacante injeta código SQL malicioso em um site ou banco de dados.
Esse código geralmente visa modificar, deletar, ou acessar dados sem a devida autorização. O atacante consegue isso manipulando entradas vulneráveis, como campos de formulários ou parâmetros de URL.
Exemplo em PHP
Vamos imaginar que nosso site netcattest.com
utiliza PHP para seu back-end e tem uma página de busca.
|
URL e SQL Injection
Se um atacante alterar a URL para
https://netcattest.com/busca?id=1; DROP TABLE aula
O código PHP executaria o seguinte comando SQL:
|
Isso resultaria na exclusão da tabela aulas.
Exemplo em Python
Agora, vamos imaginar que o mesmo site utiliza Python com Flask para seu back-end.
|
URL e SQL Injection
Se um atacante alterar a URL para
http://netcattest.com/busca?id=1; DROP TABLE aulas;
,
o código Python executaria o seguinte comando SQL:
|
Isso resultaria na exclusão da tabela aulas
.
Para exibir todas as tabelas no banco de dados, o atacante pode usar uma URL como
http://netcattest.com/busca?id=1; SELECT name FROM sqlite_master
WHERE type='table';
.
O comando SQL executado seria:
|
Isso retornaria uma lista de todas as tabelas no banco de dados.