代码安全 | 第十二期:LDAP注入漏洞

本期主题为LDAP注入漏洞的相关介绍。

01什么是LDAP注入漏洞?

LDAP是轻量目录访问协议(LightweightDirectory Access Protocol)的缩写,提供访问目录数据库方法的服务和协议,常用于与目录数据库组成目录服务。其中目录是一个为查询、浏览和搜索而优化的专业分布式数据库,它呈树状结构组织数据,就好象Linux/Unix系统中的文件目录一样。目录数据库和关系数据库不同,不适于存储修改频繁的数据。

类似以下的信息适合储存在目录中:

· 企业员工信息,如姓名、电话、邮箱等;

· 公用证书和安全密钥;

· 公司的物理设备信息,如服务器,它的IP地址、存放位置、厂商、购买时间等。

LDAP注入漏洞是指程序使用来自上游组件的受外部影响的输入来构造LDAP查询的全部或部分,没有过滤或不正确地过滤了输入字符串中含有的一些特殊字符,导致在将其发送到下游组件时修改了原本LDAP的查询结构。LDAP具有特定的查询结构,并具有特定的语法,来对特定目录进行遍历,LDAP注入攻击和SQL注入攻击类似,利用用户引入的参数生成LDAP查询,由于部分参数没有适当的过滤,因此攻击者可以注入恶意代码以造成恶意攻击。

02LDAP注入漏洞的构成条件有哪些?

满足以下条件,就构成了一个日志伪造的安全漏洞:

1、数据从不可靠来源(包括但不局限于不可靠用户的输入信息或是不可靠用户可能更改的文件)进入应用程序;

2、该数据未经过滤或不正确地过滤特殊字符后,直接使用进行LDAP查询。

03LDAP注入漏洞会造成哪些后果?

关键词:执行未经授权的代码或命令; 读取应用数据; 修改应用数据

· 攻击者可能输入更改LDAP查询的恶意数据,从而允许执行非预期的命令或代码,允许读取或修改敏感数据,或导致其他非预期行为。

04LDAP注入漏洞的防范和修补方法有哪些?

1、输入验证。

使用框架提供的功能来进行正确的验证,过滤或转义用户输入的数据。

05LDAP注入漏洞样例:

 代码安全 | 第十二期:LDAP注入漏洞

用Wukong检测上述程序代码,则可以发现代码中存在着“LDAP注入”缺陷,从跟踪路径中可以分析出数据的污染源以及数据流向,如下图:

 代码安全 | 第十二期:LDAP注入漏洞

LDAP注入在CWE中被编号为CWE-90: Improper Neutralization of Special Elements used in an LDAPQuery ('LDAP Injection')

中科天齐Wukong(悟空)静态代码检测工具,从源码开始,为您的软件安全保驾护航!

代码安全 | 第十二期:LDAP注入漏洞

软件安全 网络安全的最后一道防线

中科天齐公司是在中科院计算技术研究所的大力推动下

以中科院计算所国际领先的自主研究成果

软件代码漏洞检测修复平台Wukong(悟空)”

为基础组建的高新技术企业

上一篇:Trees on the level HDU - 1622 二叉树


下一篇:[presto原理] 使用presto的插件开发权限验证和审计