O sqlmap automatiza todo o fluxo de SQL injection: detectar o parâmetro injetável, identificar o SGBD e escalar de um oráculo booleano até a extração completa dos dados.
Ele importa em um projeto Django porque responde ao que a revisão de código não responde: este parâmetro é realmente explorável? O ORM do Django parametriza as consultas, então o sqlmap não acha nada contra código normal — aponte-o para uma view que usa .raw() ou .extra() com formatação de string e ele despeja a tabela.
Técnicas que vale conhecer pelo nome: blind booleano, blind temporal, baseado em erro, UNION e stacked queries.