未授权漏洞
在登录后台的时候通过查看添加用户功能,看能不能挖掘sql注入漏洞,结果发现了个大问题,一个比较好玩的权限逻辑问题。这里添加用户的路由
我们跟进到manager.class.php里面的add()方法,这里先into::basc_class('admin'),应该是load一个名字admin的类我们跟进去看看。
这里bassic_class()方法需要两个值,两个值$name和一个$func,$func初始值为null,在代码中给他复制一个固定值init,感觉像是初始化之类的,问题不大,跟进去。
在admin.class.php里面的,init()方法,我以为是初始化类的,结果是个判断权限,就是判断获取到session,如果是不存在的seesion就是空的,然后进入if逻辑,利用header进行跳转会登录页面。
可能大家还没发现问题,这里没有做终止,它在做完跳转后动作后,继续进入add()方法进行添加用户。这里一个巧妙的帽子戏法导致了整个信息系统后台功能点存在未授权漏洞。
我们利用登录后的添加用户poc,然后随便改个cookie来进行验证,显示保存成功,看来我们分析的没有错,我们进行登录看看是否成功。
这里就要回归我们怎么getshell在后台功能中有个安全设置可以修改上传后缀,然后找个上传点上传祖产大宝贝即可~