ホームページ  >  記事  >  運用・保守  >  sqlmap を使用して問題を分析する方法

sqlmap を使用して問題を分析する方法

WBOY
WBOY転載
2023-05-27 13:07:561526ブラウズ

0x00 概要

最近、sqlmap をインジェクション テストに使用しているときに、上位バージョンの sqlmap ではインジェクションを検出できませんが、下位バージョンではインジェクションを検出でき、漏洩したデータは誤報ではありませんが、sqlmap のソース コードを比較テストしてチェックした結果、2 つの小さな落とし穴が見つかりました。

0x01 シナリオ再現

注入ポイント形式: json
..."whereparams":[{"name":"keyWord","value": "test"}]}
注入可能なパラメータ: 値
sqlmap コマンド:
python sqlmap.py -r sqlpk.txt –flush-session -vv
sqlmap v1.2.11 は注入できません

sqlmap を使用して問題を分析する方法

sqlmap v1.2 は正常に挿入されました

sqlmap を使用して問題を分析する方法

同様に、v1.2.10 は挿入できませんv1.1.12 は注入可能です

分析後、2 つの落とし穴は次のとおりです:
(1) v1.2.11 のbounders.xml (/v1.2.10/v1.2.9/master) いいえファジー クエリ (% ) のターゲットが長くなりましたが、v1.2 (/v1.1.12/1.1.4/1.2.2) はターゲットになりました。
(2) v1.2.11 (/v1.2.10/1.2.9/master) は、このパラメータを注入するために、json の特定のパラメータを * に手動で設定する必要があります (y-inject inside が選択されている場合でも)。ペイロードは直接 json に従うと注入できなくなりますが、v1.2 (/v1.1.12) ではデフォルトで Enter (y) を押して json の特定のパラメーターを注入できます。

0x02 詳細テスト

落とし穴 (1):
まず sqlmap のペイロード構成を理解します:

sqlmap を使用して問題を分析する方法

//画像ソース https://www.freebuf.com/colum...

v1.2 のテスト ペイロードを見てください:

sqlmap を使用して問題を分析する方法

# 使用されるペイロード: %' と 5731=5731 および '%'='
これは非常に一般的な検索ボックス インジェクションです
V1.2 のbounders.xml を確認してください:

sqlmap を使用して問題を分析する方法

v1.2.11 のboundaries.xml には、ファジー クエリの注入テストがありません。
https://github.com/sqlmapproj...
そこで、v1.2.11 のファイルにファジー クエリ インジェクション テストを追加し、インジェクション パラメーター (値など) に * を手動で追加すると、正常に実行できます。注入してください!
追加されたバージョンを添付します:
https://github.com/theLSA/sql...

sqlmap を使用して問題を分析する方法

pr が返信を受け取りました。誤検知が多かったので関連するペイロードは削除されましたが、回復には限界があります。
https://github.com/sqlmapproj...

落とし穴 (2):
v1.2 と v1.2.11 のペイロードを比較します:

sqlmap を使用して問題を分析する方法

v1.2.11 ではペイロードが json の末尾に直接接続されていることがわかります。
正常に注入するには、*
"whereparams":[{"name":"keyWord","value":"*"}]}
を注入パラメータ値に手動で追加します。

0x03 結論

  1. 個人的には、ファジー クエリ テスト ペイロードを追加することをお勧めします。偽陽性は偽陰性よりも優れており、これは非常に一般的です。ファジークエリインジェクション。

  2. json パラメーターが見つかった場合は、手動で追加してみてください* (sqlmap の一部のバージョンの場合)。

  3. sqlmap を使用してテストする場合は、-vv を追加することをお勧めします。

  4. ツールに頼りすぎず、安全を確保するためにツールの手動テストを使用するようにしてください。

以上がsqlmap を使用して問題を分析する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はyisu.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。