2016-11-30 11 views
0

OWASP Zapを使用した侵入テストでは、パストラバーサルの「脆弱性」が多数見つかりましたが、レポート全体が話をしてくれないか、私には安全です。例:Zap OWASPでパストラバーサルフラグを取得しても、パラメータは完全に有効です

URL: http://[xxxx]/News/GetContactsList/2 

Parameter: Id 

Attack: 2 

"2"は呼び出し側エンティティのIDなので、システムで必要です。同じ種類のものが明らかに多くの場所で使用されていますが、これがザップが苦情を申し立てる唯一の時間です。これは、一般的に2を別の整数に置き換えるか、または完全に有効な文字列を別のパラメータ "PressContacts"に渡すことによって、いくつかの例を見つけます。

MVCでは、これらはintとintのリストにバインドされているので、私が知る限り、サニタイズされています。

どうすれば問題が正確かを知ることができますか、Zapに間違ったツリーを吠えさせてもらえますか?我々は、GETとPOSTに応答するMVCのアクションが異なり、どちらが当てはまるのか明らかではありません。

私が本当に明白な何かを紛失している場合、事前に謝罪してください。これはZapを使った初めてのことなので、何かを完全に誤解しているかもしれません。

答えて

0

これは実際には非常に一般的な攻撃方法であり、ZAPが正しいです。 URLの整数IDは変更が容易で推測が簡単です。これは、自動生成された連続番号である可能性が高いためです。

ユーザーAが1から100のID範囲にアクセスする権限を持ち、ユーザーBが1から500のID範囲にアクセスできるとしましょう。 ユーザーAはログインしてidを100から300に変更してアクセスできます彼/彼女が見ていない記録に。

解決策は、シーケンシャルではなく、推測しにくい一意の識別子を使用することです。最も一般的な方法は、URLのidの代わりにGUIDを使用する方法です。

+0

これは公平なコメントですが、サーバーの側を調べているので、問題はありませんし、Zapのメッセージが反映されていないようです。これは「パストラバーサル」脆弱性ではありません。 –

+1

通常、セキュリティ専門家は、ツール(ZAPなど)によって生成されたレポートを使用し、セキュリティリスクと攻撃面を定義しようとします。リスクと攻撃の面はビジネスとソフトウェアに依存するため、人間によって行われなければなりません。アプリケーションでこの攻撃が問題ではないと確信している場合は、それを緩和して、レポートにリスクが低いかどうかを確認することができます。重要なことは、リスクを認識し、リスクを検討し、考慮していることです。 – Sparrow

関連する問題