私はKaliでSQLMapをいじくり回していて、--sql-Shell
メインデータベース上。これで、このアクセスで今何ができるのだろうと思いました。これはどのようにデータベースにデータを挿入するかなどです。
通常、--sql-query
フラグ(一度に1行)または--sql-Shell
フラグ(SQLi REPLまたはインタラクティブシェルを提供)を使用して、ターゲットに対して見つかったSQLiの機能をテストします。 RDBMSの機能。これは多くの場合、sqlmapがすでに実行できる機能の範囲外で、機能的にのみ必要です。
2つの顕著な例は次のとおりです。
MySQL/MariaDBに対してselect @@datadir
を使用して、LOAD_FILE()のベースディレクトリを検索します。この同じ攻撃シナリオで、許可されているデフォルトのファイルサイズを希望するか、select @@max_allowed_packet
を使用して適合を照会します。
MS-SQLサーバーのホスト名(select @@servername
)またはproductversion/productlevel/editionを照会する。 MySQL/MariaDBでは、この同じコマンドはsql-Shell REPLのselect @@hostname
になります。
あなたの質問は何ですかできますSQLシェルで何をしますか
短い答え:(ほぼ)何でも!
微妙な答え:エンドポイントで実行されているユーザーの権限に応じて、ほとんど何もない、何か、またはおそらく何でも。
しかし、正しい質問は次のとおりです。
SQLMapは、「いじり」で「insert data」と。これはデータベースの整合性に影響します。小さなものでも挿入、削除、または変更すると、データベースが破損します。 どちらにしても、倫理的な意図があるか、自分が何をしているのかまったくわかりません。
SQLmap it selfsは、正当な理由で次のように述べています。
事前の相互同意なしにターゲットを攻撃するためのsqlmapの使用は違法です。該当するすべての地域、州、および連邦の法律に従うことは、エンドユーザーの責任です。開発者は一切の責任を負わず、このプログラムによって引き起こされた誤用や損害に対して責任を負いません。
ソース: http://sqlmap.org/
情報セキュリティに関心があり、「Kali」や「SQLmap」などのツールで「いじくり回す」と、強力なスキルが得られます。しかし、それらをうまく使用してください!うまくいけば、最良のケースでは、自分が所有して実行するテスト環境でそれを実行します。または、テストするための前もっての許可を持っているターゲットの2番目に良いケース。 WebGoatはそのようなプロジェクトの良い例です: https://github.com/WebGoat/WebGoat 。
ハッキングは、事前の許可があり、テストを実行する方法、場所、タイミングについて顧客と理解している場合にのみ合法です。これは倫理的ハッキングと呼ばれ、「合法的な」ハッキングの唯一の方法です。また、理解には通常、実行できること、特にできないことについて定義されたテスト境界が含まれます。越えてはならない境界線。この境界の大部分は非常に単純です。明示的な許可がない限り、データの変更、挿入、または削除(つまり、読み取り専用)を行わないことにより、(理論的にも)脆弱性またはリスクを証明します。
さらに、次の3つのケースのいずれかでのみSQLmapスキルを練習することをお勧めします。
Sqlユーザーがテーブルに対する書き込み権限を持っている場合、INSERT INTOコマンドを使用してデータをテーブルに挿入できます。
On w3school sql-statementsの記述方法に関する詳細情報を見つけることができます。
SQLMapのSQLシェルを使用すると、ローカルSQLデータベースで実行できるほとんどすべてのことを実行できます。データベースにデータを照会する、データを変更するのと同じように、アクセスしたユーザーに必要な権限が付与されるまで。