
Damn Small SQLi Scanner
Damn Small SQLi Scanner (DSSS) est un scanner de vulnérabilités d'injection SQL entièrement fonctionnel (prenant en charge les paramètres GET et POST) écrit en moins de 100 lignes de code.
Parmi les options facultatives, il prend en charge le proxy HTTP ainsi que les valeurs d'en-tête HTTP User-Agent, Referer et Cookie.
$ python3 dsss.py -h
Damn Small SQLi Scanner (DSSS) < 100 LoC (Lines of Code) #v0.4b
by: Miroslav Stampar (@stamparm)
Usage: dsss.py [options]
Options:
--version show program's version number and exit
-h, --help show this help message and exit
-u URL, --url=URL Target URL (e.g. "http://www.target.com/page.php?id=1")
--data=DATA POST data (e.g. "query=test")
--cookie=COOKIE HTTP Cookie header value
--user-agent=UA HTTP User-Agent header value
--referer=REFERER HTTP Referer header value
--proxy=PROXY HTTP proxy address (e.g. "http://127.0.0.1:8080")
$ python3 dsss.py -u "https://sekumart.sekuripy.hr/product.php?id=1"
Damn Small SQLi Scanner (DSSS) < 100 LoC (Lines of Code) #v0.4b
by: Miroslav Stampar (@stamparm)
* scanning GET parameter 'id'
(i) GET parameter 'id' appears to be blind SQLi vulnerable (e.g.: 'https://sekumart.sekuripy.hr/product.php?id=1%20AND%2069%3D69')
scan results: possible vulnerabilities found
Python version 3.x est requis pour exécuter ce programme.
Le répertoire tests contient une suite de régression utilisant uniquement la bibliothèque standard. Toutes les cibles sont locales : un
serveur HTTP de test intégré sert des pages générées par une véritable base de données sqlite3 dont les requêtes sont
interpolées sous forme de chaînes, de sorte que les injections détectées sont authentiques et qu'aucun accès à Internet
n'est nécessaire :
$ python3 -m unittest discover -s tests -v
Les mêmes cas contre un véritable MySQL sont ignorés sauf si Docker
et l'image sont disponibles, tandis que python3 tests/mutations.py restaure chaque version
antérieure à la correction de dsss.py et vérifie que la suite le détecte.