他是业务逻辑层面,和一些业务方便应用的安全问题,这个是因为代码层面没用考虑到的逻辑关系所造成的安全问题,越权是其中一个比较关键的问题。登录是指在登录这里出现了安全问题,业务等等今天只说越权。
越权漏洞
分为水平和垂直,
假如我们在用户a这里,如果有用户越权漏洞,我们就可以访问到用户b,c,d这里去,同级别的用户,我们称之为水平越权。
垂直越权,我们用普通用户权限,可以去享用比我们高级的权限,这种就是垂直越权。
解释一下水平越权,:是通过更换某个id之类的身份表示,从而使a账户获取(修改,删除)同一级别b账户的数据。
垂直越权,:使用低权限身份的账号,发送高权限账户才能发送的请求,获取高权限的操作。
未授权访问,:比如我们访问网站的后台,网站的后台有一些操作需要管理员才能操作的,其他的用户是操作不了的,如果有未授权访问就相当于任何人都可以去操作他,比如是后台地址,操作的应用,不需要的登陆直接操纵,这就是未授权访问,没用进行权限验证导致的安全问题,
#pikachu-本地水平垂直越权的演示(漏洞成因)
我们要怎么去测试有没有水平越权漏洞,就把那个用户名改成同级别的lucy试试,现在就有问题了,我们如何去获取lucy这个用户名。这个用户名可以在前期信息收集里面找到的,在真是网站下面可以通过一些渠道获取同级别用户的信息的,打一个比方,有一些网站是有注册吗,就可以通过注册一些用户名,有时候他就会提示你用户名重复,那么这个用户名就存在的;第二种可以通过访问其他的人个人空间知道他的名字,可以通过多个渠道获取到的。
我登陆的是coke然后通过数据包的更改查看到了另外同级别的用户lucy用户信息。
#垂直越权
然后现在在回到管理用户里面,随便添加一个用户,抓一下数据吧,发送到重发器之后在,丢弃数据包,
写着在去登陆pikachu用户,没有添加删除的功能,然后我们先在网页查看元素
这就是一个典型的越权,用用户pikachu发送了admin的请求。
利用条件:添加用户账户,把数据包抓了,但是在实际中是不能知道这个数据包的,因为在实战中可能就是pikachu用户,如果没有那个添加数据包,这么去添加哪个用户呢,该怎么去满足这个条件,有两个情况,
第一种是盲猜,看页面中的数据包,登录pikachu是没有操作用户的界面的,但有一些网站可能会有,有不是就不能操作,操作的时候会提示无权限,这种就可以通过当前页面权限的数据包,来实现越权。
第二种,如果能知道网站的源码,网上下载下来,放到本地区测试,这个时候在本地测试把管理员的账户数据包抓到,再放到真实环境,实际目标,这也是一种
其他的就是靠猜测了,搞不到数据包,操作不行。
有一个条件,
这个漏洞有些鸡肋,但是有些时候我们会涉及到另一个,未授权访问,或者思维导图里面的的登录,如果这里判断不好的话,可以通过这个漏洞直接进入到管理界面,就是先用一个普通用户登录,在判断权限的时候,有些数据包修改之后能达到伪造,可以通过这个漏洞获取到过权限,直接进入高权限界面。
这个漏洞是相辅相成的因为现在只说了越权,所以现在只能说这三个。
但是它如果有登录安全问题的话,就上一节那个把0改成1就直接登录进去了,就是我们说的越过的情况,判断用户方式不太安全。
这两个安全是越权漏洞的演示和原理,
#墨者靶场演示-身份认证失效
背景介绍
发送之后第二个数据包
先分析第一个数据吗,有一个uid叫test,把这个uid改成马春山会不会直接登录到马春生的界面呢,这时第一个可以操作的地方,
第二个数据,在数据头里面有一个叫card_id的,后面跟着一堆数字这就是给编号,后面编号不同,所对应的用户也不同,就好比一些网站id=1就是admin用户,id=22的时候就别人注册的用户,是一个道理,这里也是一个可以操作的地方。
通过这个用户,就可以实现对用户的地址访问,我换一下那个编号,访问的结果也不一样
所以这时候我们一个一个去试试就好了,就运用到burp的,以编号的后两位为字典。
之后就直接开始攻击,之后结果就选择由大到小排序,因为有数据的数据包长度一定要大一点,而全部都一样的就是没用数据的,现在我们只需要看一下有数据的数据包,
我们该怎么去找马春生的数据,其实网站的初始界面是有一个信息的,有马春生的头像,查看马春生的头像元素
出来了,这就是一个和网站十分相似的水平越权漏洞,
在实战情况下要根据实际判断,是一图像信息还是地址端口上的参数作为编号,一般是以参数为编号, 而墨者那一关是让你看一下没用连接信息,只有图片信息的,真是网站下,大部分都是地址链接看到编号,在实现这个跨越。
#产生原理
前端安全造成,界面。
就好比刚刚的pikachu靶场,管理用户登录进去有添加管理员账户,和删除,而普通的用户只有查看选项就没有别的选项,她的验证写在前端界面,这个漏洞安全造成原因就是代码在这个界面,只有判断用户是不是管理员,然后代码进行可选显示。普通用户登录就不显示添加删除那些,
不安全的原因,他只是不给你看到,但是这些是存在的,这种就是刚才漏洞产生的原因。这种判断这么安全,要去在使用功能的时候在判断管理员有没有这个权限,
判断用户的权限就是按照usertype等级来判断,是1就是管理,不是1就不是。
后端安全造成,数据库
如果在访问网站的时候,网站传输的数据包里面有用户的编号,用户组的编号或者类型编号,那么尝试对这个数据修改,就是测试越权漏洞的基本。
网站去判断一个用户权限,就可以有三个方面去判断,一个是用户编号uid指判断,比如管理员在10以内,uid指在10以内就是管理员。还有判断组的编号(groupid),在那个组编号里面就是那个权限。还有一个就是判断用户的等级(usertype)
网站访问数据包里面存在编号指可以更改,就是在测试越权漏洞最基本操作。
ss、