Skip to content

Commit

Permalink
finish aula 2, started aula 3
Browse files Browse the repository at this point in the history
  • Loading branch information
mmaachado committed Oct 22, 2024
1 parent b4fd530 commit d203063
Show file tree
Hide file tree
Showing 2 changed files with 34 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# SQL Injection Básico

É possível detectar um SQLi visualizando a url do site alvo. Muitas vezes, colocando um caracter inesperado resulta em um erro de syntaxe no banco de dados do alvo, e se o mesmo não tratar corretamente esse tipo de dado, o banco pode estar vulnerável à um ataque de SQLi.

Por exemplo, a url abaixo espera que o `id` seja um valor `integer`.

> www.bancocn.com/cat.php/id=1
Quando alteramos o valor para um tipo que ele não espera receber como o `'`, o banco não sabe como lidar com esse tipo de dado e gera um erro na camada do cliente:

> www.bancocn.com/cat.pho/id='
Essa é uma das formas mais básicas de identificar uma vulnerabilidade SQLi, outras formas consistem no uso de ferramentas com `sqlmap` para serem encontradas.

> Nota 📎
>
> Um recurso interessante para identificar sites vulneráveis a SQLi é utilizando os Google Dorks, como por exemplo `inurl:".php?id="`.
## Union based

Podemos utilizar a keyword `UNION` para retornar dados de outras tabelas no banco de dados. Este tipo de ataque é comumente chamado de **UNION based**.

> www.bancocn.com/cat.php?id=1 union select all
## SQLMap

SQLMap é uma ferramenta utilizada para automatizar ataques de SQLi.

`sqlmap -u http://www.banconc.com/cat.php?id=3 --dbs --dbms=mysql`

O tipo de ataque acima irá gerar erros devido ao CloudFlare, para realizar um bypass nesse serviço, precisamos adicionar um header no ataque a partir de um arquivo **.txt**.

`sqlmap -r header.txt --dbs --dbms=mysql`
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# SQL Injection com Post

0 comments on commit d203063

Please sign in to comment.