官网经典案例:http://**.**.**.**/Anli.php
外网部分实际案例:
首先代码审计估计大家都有自己的辅助工具
这里介绍一下自己的方法吧。
首先拿到源码,使用seay牛的审计工具,从系统入口进入,看看全局有什么设置
比如全局过滤,伪全局机制,全局判断登录验证等等
知道了系统的全局过滤处理及参数值传输过程之后就好办
下面以查找全局越权+命令执行=无需登陆命令执行漏洞为例
首先惠尔顿上网行为管理系统是需要登录才能操作的
通过度系统源码知道了每个文件的开头:
这一句就是验证登录状态的
如果没有这一句就导致越权操作了,那么我们先来找出越权的文件
以下我们在/base目录下进行:
这样可以找出/base目录下全部的越权操作文件了
然后我们在从no_gblinclude.txt中找出命令执行的文件:
这个时候就把范围缩得很小了,剩下的自己写个脚本跑一下,或者自己手工一个一个看一下,也很快就能搞定那些无需登录的命令执行漏洞了
我们从上面那些里面找出能直接利用的如下(除去前面已发的):
加上之前已经提交的这里准确率已经达到40%左右了,当然还可以仔细过滤
第一处base/user/offLine.php
参数user直接进入了exec中了
第二处base/vpn/uf.php,这里存在三处漏洞
这里当参数cmd为add,del,mod时均存在命令执行漏洞
第三处base/vpn/netgatedel.php
这里参数siteid直接进入system中
第四处base/vpn/rdpdel.php
这里参数appName 直接进入system函数中
第五处base/vpn/userdel.php
这里参数userName直接进入system中
第六处base/networking/ipbindmac_gateway.php
参数gateway通过处理后直接进入exec中
第七处base/message/ajaxGoAuth.php
这里参数ip进入exec中,虽然过滤了分号,但是不影响漏洞利用嘛