Heim >Datenbank >MySQL-Tutorial >Teilen Sie fünf bekannte Tools zum Scannen von SQL-Injection-Schwachstellen
Viele moderne Unternehmen nutzen Webanwendungen, um nahtlos mit ihren Kunden in Kontakt zu treten. Aufgrund falscher Codierung entstehen jedoch viele Sicherheitsprobleme. Schwachstellen in Webanwendungen können es Hackern ermöglichen, direkten Zugriff auf sensible Informationen (wie persönliche Daten, Anmeldeinformationen usw.) zu erhalten.
Webanwendungen ermöglichen es Besuchern, Daten über das Internet zu übermitteln und Daten aus einer Datenbank abzurufen. Die Datenbank ist das Herzstück der meisten Webanwendungen. Die Datenbank verwaltet die Daten, die die Webanwendung verwendet, um Besuchern bestimmte Inhalte bereitzustellen. Die Webanwendung ruft auch Daten aus der Datenbank ab, wenn sie Informationen an Kunden und Lieferanten übermittelt.
Der SQL-Injection-Angriff ist die häufigste Angriffstechnik für Webanwendungen, bei der versucht wird, SQL-Befehle zu umgehen. Wenn die Benutzereingabe nicht „bereinigt“ ist und diese Eingabe ausgeführt wird, liegt eine SQL-Injection-Sicherheitslücke vor.
Die Prüfung auf SQL-Injection-Schwachstellen umfasst hauptsächlich zwei Aspekte: Zum einen die Prüfung der Webanwendung des Benutzers und zum anderen die beste Möglichkeit, die Prüfung mithilfe eines automatisierten SQL-Injection-Scanners durchzuführen. Hier listet der Autor einige SQL-Injection-Scanner auf, die für Webanwendungsentwickler und professionelle Sicherheitsprüfer wertvoll sind.
1. SQLIer
SQLIer kann eine URL mit einer SQL-Injection-Schwachstelle auf der Website finden und basierend auf den relevanten Informationen eine SQL-Injection-Schwachstelle generieren . , erfordert jedoch keine Benutzerinteraktion. Auf diese Weise kann eine UNION SELECT-Abfrage generiert werden, die dann für Brute-Force-Angriffe auf Datenbankkennwörter verwendet werden kann. Dieses Programm verwendet bei der Ausnutzung der Sicherheitslücke keine Anführungszeichen, was bedeutet, dass es an eine Vielzahl von Websites angepasst werden kann.
SQLIer starkes Passwort über „true/false“ SQL-Injection-Schwachstelle. Mit Hilfe des starken Passworts „true/false“ für die SQL-Injection-Schwachstelle können Benutzer keine Daten aus der Datenbank abfragen. Sie können nur eine Anweisung abfragen, die „wahre“ und „falsche“ Werte zurückgeben kann.
Laut Statistik dauert das Knacken eines achtstelligen Passworts (einschließlich aller Zeichen im dezimalen ASCII-Code) nur etwa 1 Minute.
Die Verwendungssyntax lautet wie folgt: sqlier [Optionen] [URL]
Die Optionen lauten wie folgt:
-c :[主机] 清除主机的漏洞利用信息 -s :[秒]在网页请求之间等待的秒数 -u:[用户名]从数据库中强力攻击的用户名,用逗号隔开。 -w:[选项]将[选项]交由wget 此外,此程序还支持猜测字段名,有如下几种选择: --table-names [表格名称]:可进行猜测的表格名称,用逗号隔开。 --user-fields[用户字段]:可进行猜测的用户名字段名称,用逗号隔开。 --pass-fields [口令字段]:可进行猜测的口令字段名称,用逗号隔开。
Das Folgende ist die grundlegende Verwendung:
Angenommen, es gibt eine SQL-Injection-Schwachstelle in der folgenden URL:
example.com/sqlihole.php?id=1
Wir führen den folgenden Befehl aus:
sqlier -s 10 example.com/sqlihole.php?id=1
to Erhalten Sie genügend Informationen aus der Datenbank, um Ihr Passwort zu nutzen, wobei die Zahl „10“ bedeutet, dass zwischen jeder Abfrage 10 Sekunden gewartet werden muss.
Wenn die Namen der Tabelle, des Benutzernamenfelds und des Passwortfelds richtig erraten werden, übergibt das Exploit-Programm den Benutzernamen an die Abfrage und bereitet sich auf einen Brute-Force-Angriff auf das Passwort aus der Datenbank vor.
sqlier -s 10 example.com -u BCable,administrator,root,user4
Wenn der integrierte Feld-/Tabellenname jedoch nicht den richtigen Feldnamen errät, kann der Benutzer Folgendes ausführen:
sqlier -s 10 example.com --table-names [table_names] --user-fields [user_fields] --pass-fields [pass_fields]
Es sei denn, der Tabellenname ist korrekt, Benutzername Feld- und Passwortfeldnamen, SQLIer kann das Passwort nicht mit Brute-Force-Angriff aus der Datenbank angreifen.
2. SQLMap:
Dies ist ein automatisches „blindes“ SQL-Injection-Tool, das mit Python entwickelt wurde und eine Leistung erbringt Ein dynamisches Datenbankverwaltungssystem mit Fingerabdruck, das eine vollständige Aufzählung entfernter Datenbanken ermöglicht. Das Ziel besteht darin, ein voll funktionsfähiges Datenbankverwaltungssystem-Tool zu implementieren, das in der Lage ist, alle Fehler in der Webanwendungsprogrammierung auszunutzen, die zu SQL-Injection-Schwachstellen führen können.
Nachdem SQLMap eine oder mehrere SQL-Injection-Schwachstellen auf dem Zielsystem erkannt hat, kann der Benutzer aus mehreren Optionen wählen, um ein umfassendes Back-End-Datenbankverwaltungssystem-Fingerprinting durchzuführen und Datenbankverwaltungssystemsitzungen abzurufen und Benutzer aufzuzählen , Passwort-Hashes, Datenbanken, Ausführen eigener SQL SELECT-Anweisungen, Lesen bestimmter Dateien im Dateisystem usw.
Diese Software unterstützt vollständig Back-End-Datenbankverwaltungssysteme wie MySQL, Oracle, PostgreSQL, Microsoft SQL Server usw. Darüber hinaus erkennt es auch die Access-Datenbank von Microsoft sowie DB2, Informix, Sybase, Interbase usw.
Die Verwendungsmethode ist wie folgt:
sqlmap.py [选项] {-u <URL> | -g <google dork> | -c <配置文件>} 其中,-u URL指明目标URL -g google dork 将google dork结果处理为目标url
3. SQLID:
Dieses Tool ist eine SQL-Injection Vulnerability Mining ist ein Befehlszeilenprogramm, das SQL-Injection-Schwachstellen und häufige Fehler in Websites finden kann. Es kann mehrere Vorgänge ausführen: SQL-Injection-Schwachstellen in Webseiten finden, übermittelte Formulare testen und nach der Möglichkeit von SQL-Injection-Schwachstellen suchen. Es unterstützt auch HTTP, HTTPS, Standardauthentifizierung und mehr.
Die Verwendung ist wie folgt:
Sqid.rb [Option]
Die Optionen sind wie folgt:
-m,--mode MODE,它指明以某种模式进行操作,其中MODE有以下几种情况:g,google:以google搜索模式操作;u,url检查这个url;p,page,它主要检查单一的网页;c,crawl,检查站点。
Unter ihnen ist google Suchmodusoption Es gibt die folgenden Situationen: -q, --quary query, QUERY führt die Google-Suche aus; -s, --start START, Nullindex des ersten Ergebnisses erforderlich; Anzahl der erforderlichen Ergebnisse, der Standardwert ist 20.
4. SQL Power Injector
SQL Power Injector可帮助渗透测试人员找到并利用网页上的漏洞。目前,它支持SQL Server、Oracle、MYSQL、Sybase/Adaptive Sever和DB2等数据库,但在使用inline注入时,还可借助现有的数据库管理系统来使用此软件。
其自动化的工作模式以两种方式进行,一是比较期望的结果,二是根据时间延迟。
其工作状态如图:
五、SQLNinja:
Sqlninja可以利用以SQL Server为后端数据支持的应用程序的漏洞,其主要目标是提供对有漏洞的数据库服务器的远程访问。Sqlninja的行为受到配置文件的控制,它告诉了Sqlninja攻击的目标和方式,还有一些命令行选项。比如,有如下一些命令选项:
-m<攻击模式>,其攻击模式有测试(test)、指纹识别(fingerprint)、强力攻击(bruteforce)等;
其它的命令选项,-v : 指明进行详细输出;-f:指明一个使用的配置文件。-w指明以强力攻击模式使用的单词列表。
如图是运行过程界面:
【相关推荐】
1. 特别推荐:“php程序员工具箱”V0.1版本下载
Das obige ist der detaillierte Inhalt vonTeilen Sie fünf bekannte Tools zum Scannen von SQL-Injection-Schwachstellen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!