这是HTML 注入的姐妹篇,接着这一篇博客之后来的,要看bwapp 的HTML inject 可以参考这篇博客: 20210113bwapp html inject 全难度通关详解
服务端类型的注入,主要包括bwapp的以下几类(不包括SQL注入,打算单独拿出来写):
那我们就从第一个LDAP注入开始吧!
目录
一、LDAP Connection Settings(LDAP inject)
二、邮件头注入(Mail Header Injection (SMTP))
四、OS Command Injection - Blind
六、Server-Side Includes (SSI) Injection
一、LDAP Connection Settings(LDAP inject)
在此之前我没学过LDAP,是从这几个博客学的入门:
https://cloud.tencent.com/developer/article/1584896
https://blog.csdn.net/hee_mee/article/details/108568839
研究了许久,一直没法登进去,后来查了很多资料才知道,要先搭建一个wamp的ldap数据库服务器,我们登陆才可以,因为还要搞毕设,而且有专门的ldap靶场,所以这里就借花献佛,不搭建服务器实操,用这位老兄的博客来讲解一下这道题目吧!https://www.freebuf.com/articles/others-articles/211465.html
有一句话说的非常好,SQL注入的核心在于‘’ 而LDAp注入的核心在于(),现在先看看核心的查询语句:见ldapi.php文件第261行
$filter = "(|($search_field_1=$search_for)($search_field_2=$search_for)($search_field_3=$search_for))";// Injection!!!
我们输入的是$search_for,所以可以构造的payload就在这里注入!老兄给出了很多可以注入的语句:
返回可能会造成加载问题的所有对象:
objectClass=*
返回被指定为“person”的所有用户对象:
(&(objectClass=user)(objectCategory=person))
仅返回邮寄名单:
(objectCategory=group)
仅返回公开的文件夹:
(objectCategory=publicfolder)
返回所有用户对象,但排除主电子邮件地址已“test”开头的用户对象:
(&(&(objectClass=user)(objectCategory=person))(!(mail=test*)))
返回所有用户对象,但排除主电子邮件地址以“test”结尾的用户对象:
(&(&(objectClass=user)(objectCategory=person))(!(mail=*test)))
返回所有用户对象,但排除主电子邮件地址中包含字词“test”的用户对象:
(&(&(objectClass=user)(objectCategory=person))(!(mail=*test*)))
返回所有被指定为“person”,且属于某个群组或分配列表的所有用户对象和别名对象:
(|(&(objectClass=user)(objectCategory=person))(objectCategory=group))
返回所有被指定为“person”的用户对象、所有群组对象,以及所有联系人,但排除任意值被定义为“extensionAttribute9”的对象:
(&(|(|(&(objectClass=user)(objectCategory=person))(objectCategory=group))(objectClass=contact))(!(extensionAttribute9=*)))
返回所有 DN (CN=GRoup,OU=Users,DC=Domain,DC) 识别为群组成员的用户:
(&(objectClass=user)(objectCategory=person)(memberof=CN=Group,CN=Users,DC=Domain,DC=com))
返回所有用户:
Microsoft®Active Directory® LDAP 服务器:(&(objectCategor