Entry № 686
LDAP インジェクション
LDAP インジェクション とは何ですか?
LDAP インジェクションサニタイズされない入力で LDAP の検索フィルタや DN を改ざんし、認証回避やディレクトリ情報の読み取りを行うインジェクション攻撃。
LDAP インジェクションは、ユーザー入力を連結して LDAP の検索フィルタや識別名(DN)を組み立てるアプリケーションを狙います。攻撃者は 、(、)、|、&、NUL などの LDAP メタ文字を挿入し、フィルタを書き換え(例えば (uid=$user) を (uid=) に変更)、別人になりすました認証、ユーザー列挙、機微属性の読み取りなどを行います。対策は、パラメータ化対応の LDAP ライブラリの利用、ユーザー名や DN に許可する文字の厳密なホワイトリスト検証、RFC 4515 に準拠したエスケープ、最小権限のサービスアカウントへのバインド、各アプリが返せる属性の制限などです。
● 例
- 01
(&(uid=$user)(userPassword=$pass)) を組み立てる認証フォームで、ユーザー名に *)(uid=* を入力すると最初の一致ユーザーとしてログインできてしまう。
- 02
従業員検索ページでワイルドカードフィルタが効き、ディレクトリ上の全従業員レコードが取得される。
● よくある質問
LDAP インジェクション とは何ですか?
サニタイズされない入力で LDAP の検索フィルタや DN を改ざんし、認証回避やディレクトリ情報の読み取りを行うインジェクション攻撃。 サイバーセキュリティの 攻撃と脅威 カテゴリに属します。
LDAP インジェクション とはどういう意味ですか?
サニタイズされない入力で LDAP の検索フィルタや DN を改ざんし、認証回避やディレクトリ情報の読み取りを行うインジェクション攻撃。
LDAP インジェクション からどのように防御しますか?
LDAP インジェクション に対する防御は通常、上記の定義で述べたとおり、技術的統制と運用上の実践を組み合わせます。