6

SQLmap の仕組みを理解しようとしています。

たとえば、sqlmapは私のサイトでインジェクションを見つけます -

Place: GET
Parameter: selected
    Type: UNION query
    Title: MySQL UNION query (NULL) - 5 columns
    Payload: act=il&ed=1' LIMIT 1,1 UNION ALL SELECT CONCAT(0x3a6,0x579786e676651,0x373a), NULL, NULL, NULL, NULL#

SQLmap を使用してデータベースをダンプできますが、ブラウザーから同じデータベースをダンプするにはどうすればよいですか? 次のリンクをブラウザに入れようとしましたが、うまくいきませんでした -

http://www.site.com/index.php?act=il&ed=1' LIMIT 1,1 UNION ALL SELECT CONCAT(0x3a6,0x579786e676651,0x373a), NULL, NULL, NULL, NULL#

ブラウザでまったく結果が得られません。/**/ や + などを入れるさまざまな方法を試していますが、うまくいきません。

  • 侵入テストのためにSqlmapが送信するリンクを取得するには?

  • このインジェクションで単純な select version() クエリを悪用する方法は?

  • 多分これは本当に機能していませんか?

4

2 に答える 2

4

sqlmap クエリの詳細度を上げてみてください。

これはあるべきです-v=4

この機能の公式の使用方法の説明は次のとおりです: https://github.com/sqlmapproject/sqlmap/wiki/Usage#output-verbosity

オプション: -v

このオプションを使用して、出力メッセージの詳細レベルを設定できます。冗長性には 7 つのレベルがあります。デフォルトのレベルは 1 で、情報、警告、エラー、重大なメッセージ、および Python トレースバック (発生した場合) が表示されます。

0: Python トレースバック、エラー、および重要なメッセージのみを表示します。

1: 情報と警告メッセージも表示します。

2: デバッグ メッセージも表示します。

3: 挿入されたペイロードも表示します。

4: HTTP リクエストも表示します。

5: HTTP 応答のヘッダーも表示します。

6: HTTP 応答のページ コンテンツも表示します。

于 2013-06-28T02:49:48.447 に答える
1

試みているリンクは (コピー アンド ペースト エラーがない限り) 有効な URL ではなく、実際の SQL コマンドがブラウザで変換される方法でもありません。

SQLmap が実際に送信しているものを知りたい場合は、関連するインターフェイスで tcpdump/tshark/wireshark のいずれかを実行して、実際に何が送信されているかを確認することをお勧めします。これは、これらのツールが実際に何をするかを理解するための最良の方法です。たとえば、次のようなもの

sudo tcpdump -s0 -Xnnpi eth0 -w /var/tmp/sqlmap.pcap port 80

動作します。

一方、Wireshark を開いてeth0インターフェイスでキャプチャするだけです。実際のトラフィックはApplication LayerWireshark に表示されます。

要求どおりにアプリケーションを悪用するには、URL が正しくエンコードされ、Web アプリがそれを変換してデータベースに送信できるように、URL を正しくフォーマットする必要があります。ブラウザの URL バーを使用して SQL インジェクションをテストするには、このリンクを参照してください。また、別のチート シートもあります。

sqlmapは働いていると信じています、それはとても良いです。

免責事項: 私は、あなたがこのテストを行うことを法的に許可されているか、ラボ環境にあると信じています。

于 2012-08-23T13:42:38.510 に答える