J'ai essayé de faire tester SQLMap Test the nom d'utilisateur Paramètre dans une fausse page de connexion qui utilise l'authentification de base. Cependant, je ne peux pas le faire tester authentification en-tête via le truc d'astérisque:
sqlmap --auth-type "BASIC" --auth-cred="*:pass" --level 5 --risk 3 --method POST -u http://fake_endpoint.local/ --proxy http://127.0.0.1:8080
Je reçois à la proxy une seule tentative de connexion avec littéralement *:pass (b64: KjpwYXNz)
POST http://fake_endpoint.local/ HTTP/1.1
Content-Length: 0
Authorization: Basic KjpwYXNz
Cache-Control: no-cache
User-Agent: sqlmap/1.4.3#stable (http://sqlmap.org)
Referer: http://fake_endpoint.local/
Host: fake_endpoint.local
Accept: */*
Accept-Encoding: gzip, deflate
Content-Type: application/x-www-form-urlencoded; charset=utf-8
Connection: close
Des idées si cela est réalisable via SQLMAP?
Sans regarder le code et simplement faire des hypothèses en fonction de vos résultats, je pense que les fonctionnalités d'autorisation de SQLMAP sont juste là pour vous permettre d'effectuer des tests tout en authentifiant. Ils ne sont probablement pas destinés à ce type d'utilisation.
Cependant, Authorization
est juste un autre en-tête HTTP, et SQLMAP prend en charge les en-têtes HTTP arbitraires.
Donc, vous pourriez faire:
--headers="Authorization: <base64_encoded_credentials>"
Malheureusement, cela ne résout pas le problème de codage de base64. Je voudrais probablement résoudre celui-ci de ces manières: