web-dev-qa-db-ja.com

IDORには、ディレクトリトラバーサル以外のどの脆弱性が含まれますか?

OWASPカテゴリの最も一般的な脆弱性 安全でない直接オブジェクト参照 はディレクトリトラバーサルです。このカテゴリに分類される他の脆弱性は何ですか?

2
securitytestman

whyOWASPがディレクトリトラバーサルをIDORとして分類することを理解することが重要です。アプリケーションによって受け入れられるパラメーターは、(間接ではなく)ファイルへの直接参照です。たとえば、データベースエントリを指す参照、次にファイルを指す参照)。別の直接参照を渡すことにより、攻撃者は任意のファイルを読み取ることができます。

[〜#〜] cwe [〜#〜] -これは、OWASPトップ10よりもきめ細かい-たとえば、異なる分類を使用します。

OWASPのトップ10で説明されている「安全でないダイレクトオブジェクトリファレンス」という用語は、パストラバーサル(CWE-22)もカバーしているため、このCWEよりも広義です。脆弱性理論の文脈では、OWASPの概念とCWE-706:誤って解決された名前または参照の使用に類似点があります。

一部は open redirects をIDORとして分類します(ただし、OWASPは未検証のリダイレクトと転送でカバーされているため、そうではありません)。

IODRは基本的に許可の問題です。

最も一般的な他の例は、データベースインデックスへの直接参照です。たとえば、プライベートメッセージを表示する機能があります。

id = [userinput];
message = getMessage(id);
showMessage(message);

function getMessage(id) {
    return query("SELECT message FROM messages WHERE id = ?", id);
}

つまり、各ユーザーは自分のメッセージのみを読むことができます。ただし、IDはメッセージへの直接参照であり、認証チェックがないため、攻撃者はすべてのユーザーのメッセージを読み取ることができます。適切な認証だけで問題が解決するが、間接参照を使用することにも注意してください(つまり、各ユーザーは1からxまでのIDを持つメッセージを持っているため、他のメッセージにアクセスする可能性はありません)。

1
tim