Sqlmapを使用し、URL部分内で連結されたパラメーターを設定したいと思います。
次のURLは、パラメータ値の後ろにアスタリスクを置くことで、パラメータの定義で追跡できることを知っています。
sqlmap -u http://example.com/article/22565*/
しかし、番号とエイリアス文字列がすべて連結されたURLについてはどうでしょうか?
このURLでインジェクションを実行できるかどうかをテストしたいと思います。
http://example.com/alias-text-22565/ description
太字の数字は動的パラメーターです。このパラメーターは、正規表現を使用してサーバー側で読み取られます。
URL内でパラメーターを定義する方法、つまりsqlmapはこの方法で実際のパラメーターが何であるかを認識しますか?
注:現在、SEF URLの書き換えがオフになっているWebサイトをテストすることはできません。
AFAIKは、sqlmapが値を保持するため、そのままで機能するはずですが、機能しない可能性があるため、以下の簡単な回避策が考えられます。
注入を追加することでURLを微調整して、最初にSQL注入に適したものにすることができます。つまり、ここで説明されているようにhttp://example.com/alias-text-22565-(case when 1=1* then 1)/description
: http://pentestmonkey.net/blog/exploiting-a- tricky-sql-injection-with-sqlmap 。これは私が通常使用する方法ですが、SQLインジェクションについてある程度の知識が必要です。
Burpやzapなどのインターセプトプロキシを介してsqlmapをフィードし、22565
をalias-text-22565
で置き換える置換ルールを追加して、URL http://example.com/22565*/description
でsqlmapを呼び出すことができます。
URLの前にalias-text-
を付加し、URL http://example.com/22565*/description
でsqlmapを呼び出す簡単な改ざんスクリプトを作成できます。