
Damn Small SQLi Scanner
Damn Small SQLi Scanner (DSSS) é um scanner de vulnerabilidade de injeção SQL totalmente funcional (com suporte a parâmetros GET e POST) escrito em menos de 100 linhas de código.
Como configurações opcionais, ele suporta proxy HTTP juntamente com os valores de cabeçalho HTTP User-Agent, Referer e 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
É necessária a versão 3.x do Python para executar este programa.
O diretório tests contém uma suíte de regressão que usa apenas a biblioteca padrão. Todos os alvos são locais: um
fixture HTTP incluído serve páginas construídas por um banco de dados sqlite3 real cujas consultas são
interpoladas como strings, portanto as injeções encontradas ali são genuínas e nenhum acesso à Internet
é necessário:
$ python3 -m unittest discover -s tests -v
Os mesmos casos contra um MySQL real são ignorados a menos que o Docker
e a imagem estejam disponíveis, enquanto python3 tests/mutations.py restaura cada versão pré-correção
do dsss.py e verifica se a suíte percebe.