text: <?xml version="1.0" encoding="UTF-8"?>
  <cobra document="https://github.com/WhaleShark-Team/cobra">
      <name value="LDAP注入"/>
      <language value="php"/>
      <match mode="function-param-controllable"><![CDATA[(ldap_add|ldap_delete|ldap_list|ldap_read|ldap_search|ldap_bind)]]></match>
      <repair block="in-function-up"><![CDATA[ldap_escape\s*\(\s*.+?\s*,\s*.+?\s*,\s*LDAP_ESCAPE_FILTER\s*\)]]></repair>
      <level value="5"/>
      <test>
          <case assert="true"><![CDATA[
              $surname=$_GET['surname'];
              $filter = "(sn=" . $surname . ")";
              $sr=ldap_search($ds, "o=My Company, c=US", $filter);
              $info = ldap_get_entries($ds, $sr);
         ]]></case>
      </test>
      <solution>
          ## 安全风险
  
          LDAP Injection
          允许进行LDAP查询 + 输入未进行过滤 ---> LDAP注入
          这种威胁可以让攻击者能够从LADP树中提取到很多很重要的信息
  
          ## 修复方案
          对用户输入数据中包含的”语言本身的保留字符”进行转义(例如可以使用`ldap_escape`)
  
      </solution>
      <status value="on"/>
      <author name="Feei" email="feei@feei.cn"/>
  </cobra>
  
  