本公众号所发布的文章及工具只限交流学习,本公众号不承担任何责任!如有侵权,请告知我们立即删除。
最近开始研究EDU的漏洞,翻了很多大佬的案例,也自己尝试了几个,找到的漏洞基本都是逻辑漏洞包括未授权访问、越权访问、sql执行语句中含有可前端传入参数、会话标识登陆后未更新、可修改相应数据中的success标志位等。
逻辑漏洞是在设计阶段产生的,无法通过常规手段进行防御,相对难发现也相对容易利用,这可能也是EDU大部分漏洞都是逻辑漏洞的原因。
现在国家越来越重视网络安全,大部分学校对于网络安全的理解还是以安全设备为主导。大部分学校都上了安全设备全家桶,什么防火墙、WAF、入侵防御,确实抵挡住了包括SSRF等的绝大部分攻击,却忽略了最底层的代码逻辑漏洞。逻辑漏洞产生的流量都是正常流量,安全设备不易发现,且非常容易利用。
今天开始就分享一些EDU的逻辑漏洞案例,给大家提供EDU的漏洞思路。
注册个账号,登陆进入个人设置界面
点击负责仪器,抓取数据包
将抓取的数据包中的device&device_userId=3471改为device&device_userId=1,成功越权管理员。
进入使用指南,发现存在参数/Admin/systree.php?action=tree&systree_treeTypeId=12
将参数更改为/Admin/systree.php?action=tree&systree_treeTypeId=1,越权成功
权限类逻辑漏洞是逻辑漏洞中出现的最多的漏洞,分平行权限跨越、垂直权限跨越和未授权访问。
平行权限跨越指的攻击者尝试访问与他拥有相同权限的用户的资源。
垂直权限指的是攻击者用已经获取到的低权限访问高级别权限的用户的资源。
未授权指的是随便一个未经授权的访客就可以访问用户的资源。
出现基于用户身份ID、基于对象ID和基于文件名三种场景时,即有可能存在水平越权漏洞。
基于用户身份ID:在抓包或者URL中出现userID=122等用户身份标识字眼时,修改其后的参数就可以查看其他同权限用户的信息。
基于对象ID:基于对象ID一般只会在数据包中体现,比如抓包提交订单信息出现oid=1922字眼,修改oid参数就可以看到同权限用户的订单信息。
基于文件名:
出现使用js跳转限制未授权访问、参数控制访问权限两种场景时,即有可能存在垂直越权漏洞。
js跳转限制未授权访问:有些后台会通过使用js跳转来限制未授权的用户访问,去掉js后,就可以成功访问后台了。
参数控制访问权限:当出现uid=2等字眼时,你会发现通过修改uid后的参数可以访问不同用户的信息,有时候uid=1时就是管理员权限了。当然,获取管理员权限通常需要先用普通用户登陆去寻找可修改的参数。
未授权漏洞的寻找一般都是靠目录扫描,直接访问扫描到的地址就可以查看一些数据。