Second Order Injection - SQLMap
Last updated
Last updated
Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE) Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
SQLMap pode explorar SQLis de Segunda Ordem. Você precisa fornecer:
A requisição onde o payload de sqlinjection será salvo
A requisição onde o payload será executado
A requisição onde o payload de SQL injection é salvo é indicada como em qualquer outra injeção no sqlmap. A requisição onde o sqlmap pode ler a saída/execução da injeção pode ser indicada com --second-url
ou com --second-req
se você precisar indicar uma requisição completa de um arquivo.
Exemplo simples de segunda ordem:
Em vários casos isso não será suficiente porque você precisará realizar outras ações além de enviar o payload e acessar uma página diferente.
Quando isso for necessário, você pode usar um sqlmap tamper. Por exemplo, o seguinte script registrará um novo usuário usando o payload do sqlmap como email e fará logout.
Uma SQLMap tamper é sempre executada antes de iniciar uma tentativa de injeção com um payload e deve retornar um payload. Neste caso, não nos importamos com o payload, mas nos importamos em enviar algumas requisições, então o payload não é alterado.
Então, se por algum motivo precisarmos de um fluxo mais complexo para explorar a injeção SQL de segunda ordem, como:
Criar uma conta com o payload SQLi dentro do campo "email"
Sair
Fazer login com essa conta (login.txt)
Enviar uma requisição para executar a injeção SQL (second.txt)
Esta linha do sqlmap ajudará:
Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE) Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)