畅谈下越权
共 2133字,需浏览 5分钟
·
2023-05-26 03:41
近几年一直在做安全服务项目,也时不时的参加SRC项目,但是后者的成就就显得太Low了,前期和朋友做的一个事业单位的SRC项目,挖掘的也是逻辑漏洞中一种,不过不是越权。下面我就以个人的经验来说一下对越权漏洞的见解。
越权通常被分为垂直越权和平行越权,何为垂直?又何为平行?
垂直越权指的是低权限用户可以访问到管理员的某些信息,比如对网站后台配置进行增删改查等操作。平行越权最大的解释就在于"平"这个字眼,"平"寓意在于平行、相等的权限,通俗来讲就是A用户可以获取、修改B用户的的所有信息。
一、哪些点存在越权
平常测试的站点中存在越权的点可以归纳为以下几个方面,这里就不按垂直和平行越权来进行细分:1、文件下载处
文件下载处主要是在文件下载的地方,网站对下载的参数未做严格的限制,那么测试者即可构造参数进行碰撞,寻找有效参数。其实这里有个小小的疑问,按照常规来说,http://xxxxx/index.php?fileid=202208220988,此URL中fileid参数是有规律可循,即年份+月份+日+4位随机数组成的。我们可以通过构造fileid参数进行碰撞有效的参数即可下载对应的文件,在这个利用的过程中,是不是也掺和了遍历漏洞?这个在对漏洞类型进行定位的时候需要考虑一下,在实际测试过程中,一般都定型为越权。
2、用户信息处
对于网站后台的个人信息,一般情况下是只允许管理员或本人才能进行修改、查看的。其实在这个点进行测试越权最为简单,只需抓取数据包,查看数据包中参数即可进行越权修改,越权的参数通常为username、name、user、userid等。此图片只是借用下网上的。
在用户信息处,除此之外还有获取用户的信息,比如在点击查看个人信息的地方进行抓取数据包,请求包中携带对应用户的ID参数,通过修改ID参数即可越权到其他用户信息的界面。
3、新功能模块
在前期对某服务项目测试中发现,后台新增的功能模块未对参数进行做严格限制,造成普通用户可以通过修改参数来获取平台的所有的账密信息。
修改请求包的id参数会跳转到不同的页面,而这些页面对应的权限不一样,多数为管理者的权限才能看到。通过修改id参数即可获取到平台注册的所有账密。
如果 对 越权漏洞 测试 的 多了就会 发现, 可以利用 B ug来进行绕过条件限制,然后 进行越权操作 。 如下 操作,重放数据包,修改返回包中的参数,即可绕过限制 ,进一步进行越权操作。 除了 将 false修 改为true 外, 还有将code值修改为1 等等 。
二、常见的测试参数
参数总结如下:
id、username、user、userID、fileid、pageid等,总之一句话,只要在抓取到的数据包中寻找到类似参数,即可进行越权的测试。提示一点,有的参数是经过JS加密、base64单、双重加密、MD5加密,对于这样的加密参数需要通过JS代码来进行破解 。
三、如何应对越权
1、对存在权限验证的页面进行安全校验,校验网站前端获取到的参数,ID,账户密码,返回也需要校验。
2、对于修改,添加等功能进行当前权限判断,验证所属用户,使用seesion来安全校验用户的操作权限,get,post数据只允许输入指定的信息,不能修改数据包,查询的越权漏洞要检测每一次的请求是否是当前所属用户的身份,加强校验。
3、总之一句话,加强权限的校验。即对用户的每一次操作都要进行校验,永远不要相信用户输入的任何信息。