LDAP注入与防御剖析

前言

自从XMan夏令营回来后整理了ppt,很少接触比赛,想着找个比赛找一找感觉,找了noxctf,之中发现了一道很有意思的题。

0x01

image.png

打开网页发现里面有很多元素可以点,点开的url形如http://54.152.220.222/word.php?page=Lalalalia。看到这个url首先想到php文件包含。通过filter伪协议读取文件无果。
在page参数中随意输入字符串,得到Query returned empty:

image.png

不添加page参数访问该网页,得到Missing RDN inside ObjectClass(document):

image.png

然后就直接谷歌了


image.png

可以看出应该跟ldap有关,但是不知道这是啥。继续谷歌


image.png

发现是一个ldap注入(表示只听过sql注入,tcl)
LDAP基础概念

然后回显提示我们objectclass(document)

参考:https://oav.net/mirrors/LDAP-ObjectClasses.html

image.png

0x02 LDAP注入

参考:http://wooyun.jozxing.cc/static/drops/tips-967.html
尝试:http://54.152.220.222/word.php?page=*)(|(no=*)

image.png

接下来的剩下的几种依次带进去,发现只有documentAuthor、description是正常的回显。

构造http://54.152.220.222/word.php?page=*)(|(description=noxCTF*),可以得到flag。

image.png

尝试构造http://54.152.220.222/word.php?page=*)(description=noxCTF*,得到flag。

image.png

0x03总结

在此再提两点:LDAP服务开启的端口是389,如果发现某个服务器上开启了该端口很可能就是开启了LDAP服务,针对LDAP的软件有ldapbroswer、ldap blind explorer;之前说到LDAP注入漏洞在现实生活中真实存在,在这里给出一个LDAP信息泄露的例子,虽然不一定是LDAP注入直接导致的,但足以说明会造成巨大危害。

参考:
http://www.4hou.com/technology/9090.html
https://oav.net/mirrors/LDAP-ObjectClasses.html
https://segmentfault.com/a/1190000002607140

推荐阅读更多精彩内容