現代の企業の多くは、顧客とシームレスにつながるために Web アプリケーションを採用していますが、コーディングが間違っているため、多くのセキュリティ問題が発生しています。 Web アプリケーションの脆弱性により、ハッカーが機密情報 (個人データ、ログイン情報など) に直接アクセスできる可能性があります。
Web アプリケーションを使用すると、訪問者はインターネット経由でデータを送信したり、データベースからデータを取得したりできます。データベースは、ほとんどの Web アプリケーションの中心です。データベースは、Web アプリケーションが特定のコンテンツを訪問者に配信するために使用するデータを保持します。また、Web アプリケーションは、顧客やサプライヤーに情報を配信するときにデータベースからデータを取得します。
SQL インジェクション攻撃は、SQL コマンドをバイパスしようとする最も一般的な Web アプリケーション攻撃手法です。ユーザー入力が「サニタイズ」されていない場合にこの入力が実行されると、SQL インジェクションの脆弱性が発生します。
SQL インジェクションの脆弱性のチェックには主に 2 つの側面が含まれます。1 つはユーザーの Web アプリケーションの監査で、もう 1 つは自動 SQL インジェクション スキャナーを使用して監査を実行する最適な方法です。ここで著者は、Web アプリケーション開発者やプロのセキュリティ監査人にとって価値のある SQL インジェクション スキャナーをいくつかリストします。
1. SQLIer
SQLIer は、Web サイト上で SQL インジェクションの脆弱性のある URL を見つけ、関連情報に基づいて SQL インジェクションの脆弱性を生成できますが、ユーザーの操作は必要ありません。このようにして、UNION SELECT クエリを生成し、データベース パスワードのブルート フォース攻撃に使用できます。このプログラムは脆弱性を悪用する際に引用符を使用しないため、さまざまな Web サイトに適応できます。
「true/false」SQL インジェクションの脆弱性を利用した SQLIer の強力なパスワード。 「true/false」SQL インジェクション脆弱性の強力なパスワードを使用すると、ユーザーはデータベースのデータをクエリできなくなり、「true」と「false」の値を返すステートメントのみをクエリできます。
統計によると、8 文字のパスワード (10 進数の ASCII コードの文字を含む) を解読するには、わずか 1 分しかかかりません。
使用構文は次のとおりです。 sqlier [options] [URL]
オプションは次のとおりです:
-c :[主机] 清除主机的漏洞利用信息 -s :[秒]在网页请求之间等待的秒数 -u:[用户名]从数据库中强力攻击的用户名,用逗号隔开。 -w:[选项]将[选项]交由wget 此外,此程序还支持猜测字段名,有如下几种选择: --table-names [表格名称]:可进行猜测的表格名称,用逗号隔开。 --user-fields[用户字段]:可进行猜测的用户名字段名称,用逗号隔开。 --pass-fields [口令字段]:可进行猜测的口令字段名称,用逗号隔开。
基本的な使用法を以下に説明します:
たとえば、次の URL に SQL インジェクションの脆弱性があるとします。
example.com/sqlihole.php?id=1
次のコマンドを実行します:
sqlier -s 10 example.com/sqlihole.php?id=1
パスワードを悪用するのに十分な情報をデータベースから取得します。数字の「10」は、各クエリの間に 10 秒待つことを意味します。
テーブル、ユーザー名フィールド、パスワードフィールドの名前が正しく推測された場合、エクスプロイトプログラムはユーザー名をクエリに送信し、データベースからのパスワードに対するブルートフォース攻撃の準備をします。
sqlier -s 10 example.com -u BCable,administrator,root,user4
ただし、組み込みのフィールド/テーブル名が正しいフィールド名を推測できない場合、ユーザーは次を実行できます:
sqlier -s 10 example.com --table-names [table_names] --user-fields [user_fields] --pass-fields [pass_fields]
正しいテーブル名、ユーザー名フィールド、およびパスワード フィールド名がわかっていない限り、SQLIer はデータベースからのデータ 中程度のブルート フォース攻撃パスワード。
2. SQLMap:
これは、Python を使用して開発され、リモート データベースを完全に使い果たすことができます。目標は、SQL インジェクションの脆弱性につながる可能性のある Web アプリケーション プログラミングのあらゆる欠陥を悪用できる、完全に機能するデータベース管理システム ツールを実装することです。
SQLMap がターゲット システム上で 1 つ以上の SQL インジェクションの脆弱性を検出した後、ユーザーは複数のオプションから選択して、包括的なバックエンド データベース管理システムのフィンガープリンティングの実行、データベース管理システムのセッション ユーザーとデータベースの取得、ユーザー、パスワード ハッシュ、データベースの列挙を行うことができます。 、独自の SQL SELECT ステートメントを実行する、ファイル システム上の特定のファイルを読み取るなど。
このソフトウェアは、MySQL、Oracle、PostgreSQL、Microsoft SQL Server、およびその他のバックエンドデータベース管理システムを完全にサポートしています。さらに、Microsoft の Access データベースや DB2、Informix、Sybase、Interbase なども認識します。
使用方法は次のとおりです:
sqlmap.py [选项] {-u <URL> | -g <google dork> | -c <配置文件>} 其中,-u URL指明目标URL -g google dork 将google dork结果处理为目标url
3. SQLID:
このツールは、SQL インジェクションの脆弱性ディガーであり、Web サイト内の SQL インジェクションの脆弱性と一般的なエラーを見つけることができるコマンド ライン ユーティリティです。 Web ページ内の SQL インジェクションの脆弱性を検出し、送信されたフォームをテストし、SQL インジェクションの脆弱性の可能性を探すなど、いくつかの操作を実行できます。 HTTP、HTTPS、基本認証などもサポートします。
使い方は以下の通りです:
Sqid.rb [オプション]
オプションは以下の通りです:
-m,--mode MODE,它指明以某种模式进行操作,其中MODE有以下几种情况:g,google:以google搜索模式操作;u,url检查这个url;p,page,它主要检查单一的网页;c,crawl,检查站点。
このうち、Google検索モードのオプションは、-q、--quaryクエリ、QUERY実行の場合があります。 Google 検索 ;-s, --start START、最初の結果のゼロ インデックスが必要; -r, --results RESULTS、ここで必要な結果の数を指定します。デフォルト値は 20 です。
4. SQL パワー インジェクター
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版本下载
以上が5 つの有名な SQL インジェクション脆弱性スキャン ツールを共有するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。