私が尋ねた「検索」クエリのビットが、AD での crud 操作を排除する可能性があることを知っています。しかし、質問を少し開いてください。たとえば、Web サイトで、ユーザーを検索するためにテキスト ボックスから入力を取得している場合、それを抑えようとしなければ、ある種の悪意のある活動にさらされている可能性があると推測する危険があります。何に注意する必要がありますか?たとえば、LDAP に少し詳しい人なら誰でもコマンドを入力できる可能性があります。このコマンドを実行すると、プロセスが長時間実行されて重要なリソースが消費される可能性があります (非常に厄介な検索フィルターを使用して、大量のリクエストをスピンアップするちょっとした恨みを持っている人を考えてみてください)。規定の OU に制限する能力があるにもかかわらず、範囲を少し制限することで、ここにはまだ抜け穴があると確信しています。
1 に答える
ユーザー入力を受け入れる他のアプリケーション インターフェイスと同様に、アプリケーションが予期しない悪意のある入力を攻撃者が提供する可能性があります。ユーザー入力が既知の/期待される値と一致することを確認するために、強力なホワイトリスト検証を実行することが常に最善です。より堅牢な防御が必要な場合もあります。
ユーザー入力を取得して LDAP クエリに直接入力する場合は、予期しない LDAP メタ文字が含まれないようにする必要があります。攻撃者が LDAP ステートメントの変更に成功した場合、それは LDAP インジェクションとして知られる脆弱性です。
次の記事では、LDAP インジェクションとは何か、およびそれを防御する方法について説明しています: https://www.owasp.org/index.php/LDAP_injection http://projects.webappsec.org/w/page/ 13246947/LDAP%20インジェクション
ユーザー入力は、アプリケーションの POST/GET パラメータだけでなく、クライアント側からのあらゆるものになる可能性があることに注意してください。HTTP (またはその他のプロトコル) ヘッダーなども同様に脆弱です。攻撃者がアプリケーションに送信される前にデータを傍受できる場合、データは「汚染されている」と見なされ、悪意のある入力が含まれていないことを確認するために適切な防御を適用する必要があります。