web-dev-qa-db-ja.com

Sqlmapにスリープペイロードのある挿入ポイントを検出させる方法は?

BurpSuiteによって次のペイロードが検出され、SQLインジェクションに対して脆弱であると思われるサーバーがあります。

param=value,(select*from(select(sleep(10)))a)

アプリケーションは、sleepで定義された時間の2倍の時間を要します(sleep 10は20秒後に応答を返します)。私はSqlmapに挿入ポイントを検出させようとしていますが、それはピックアップしません。 --prefixと--suffixを試してみましたが、リスクが高まっています...

Sqlmapを調整してこれを検出できることを誰かが知っていますか?

1
Omacron

Burp Suiteは常に正しい検出を行うわけではありません。あなたの質問で、あなたはアプリケーションが脆弱であるように見えました;これは、それが肯定的な検出であるかどうかは決して決定されないことを意味しました。検出がCertainであるか、それともTentativeであるかを確認する必要があります? (Burp Suiteは何を教えてくれますか?)Tentative検出の場合は、SQLMapを使用するか、手動で検出してみてください。

アプリケーションが応答するまでにスリープで定義された時間の2倍かかります(スリープ10は20秒後に応答を返します)

手動で試してみましたか(はい)-Webアプリケーションファイアウォールの可能性があります。

なぜなら、SQLMapはあなたが取ったアプローチです-私はあなたが-pスイッチ、次にテストするパラメータの名前。 --risk--levelは役に立ちません。これは、パラメーターの検出がTentativeの場合、誤検出であるためです。

傍注では、--tamper=ptmtamper=charencode、その様子をお知らせください。

別の方法としては、--identify-wafスイッチを使用して、対象のパケットをドロップしている可能性のあるファイアウォールの外側にターゲットがあるかどうかを判別します。

2