虽然我知道我可以仔细梳理所有相关的RFC,但是我:
哦,这个列表中的where I got some of the values。
答案 0 :(得分:2)
<强>更新<!/强>
偶然找到列表here。
值得注意的是,隐藏在这个链表中(嘿......'链表')是假设你只限于某个字符集,所以它错过了一些东西。 也就是说,它错过了单一最危险的角色而不是逃避 - 换行。虽然可以存储换行符,但如果未转义,用户可以注入任意LDIF。因此,似乎最有意义的解决方案是:
(下面的Copypasta是链接中AWOL的重要部分。)
<强>缓解措施强>
正确使用用户提供的输入到LDAP的转义序列取决于用户输入是用于创建DN(专有名称)还是用作搜索过滤器的一部分。下面的列表显示了需要转义的字符以及每种情况的相应转义方法。
在DN中使用 - 需要\ escape
&
!
|
=
<
>
,
+
-
"
'
;
用于过滤器 - 需要{\ ASCII}转义
( {\28}
) {\29}
\ {\5c}
* {\2a}
/ {\2f}
NUL {\0}