其实你要记住我们该讲的原则,同变同控原则,如果像我的话,我首先会观察他的这么一个手机号,这么一个信息。首先我可能会更改他手机号,看一下这个值会不会变化。如果更改手机号不变化以后,我就一个一个去改。然后直到可以看到这手机号尾号是不是6622,你要记住我们的这个越权漏洞,它的参数的右侧肯定是数字,正常而言是数字的。所以你像这种手机号的肯定不用看了。
还有这种一般user,你从语义化就知道这种肯定不是关键的一个变量,看这种英文的更不用看了。你就看带有数字的,而且它语义化你看这个是不是叫购物地址,所以我们可以考虑把这个去变换一下。一旦我们变化这个值之后,我们就可以把这个收货地址变为别人的,刚才讲的都是一个单个属性去变化的,或者说单个身份ID去变化的。
紧接着话我们来讲一下,水平越权里面基于多个属性ID同时变化,才能造成越权的。这里我们也找了一个案例,我之所以为什么没有用我自己的案例,有是有案例,但是说我觉得没有必要放太多案例,我就拿无影上面的按钮,主要还是去讲思想,大家一定要清楚,我们主要还是去讲思想。
好,我们来讲思想和方法怎么去思考,这里首先我们来看一下这个是成绩,然后是不是正常你下单,这种肯定是属性idea,来看一下这个包,这个包看起来非常多,它是post请求的,然后它重要的参数就是在下面,在这里我们去找关键的这个参数,首先应该是航班的这个飞机号码我们来看一下,应该是航班的一个飞机号,航班内 Hu7382,是不是这个航班号,所以我们从这个就分析,你看No就是no number的一个缩写,然后这也是预期,这些就无关重要了,这个我们暂时还不清楚,这个具体是用哪个,这个应该就是承继人的这个 ID,还有这个就是我们从一句话来知道,这个应该是它的一个订单ID然后这里这些值很明显,就不关重要了,还有这个是临时的这个订单号,这个也是比较重要的。
然后当我们直接修改这么一个乘机人的这个 ID的时候,是没有办法正常的去先做到越权了,因为它这个会校验多个参数,也就是说我们必须同时变化它的参数,也就是说看这里第一个参数,这位联系人以及这个残疾人都必须要同时变化,你看这个改为2003958,还有1201208378这个要同时去更改,就是同时变化,才能够变成越权。
我们来看一下这个垂直越权。我们来看这个案例里面,他就是使用明文密码登录,越垂直越权还是比较少的。它更多时候是由于这么一些框架,或者说它系统本身的存在的一个认证的一个问题,一般很少会出现在网站,而是出现在这种系统上面。它这里登录进去之后,进入后台,进入后台它这里的话打开对象管理,管理,然后编辑又是admin,然后得到这么一个ID,然后只需要把它改为是就能够垂直越权得到最高的管理员权限。
所以这个还是比较简单的。这就是非常简单的一个垂直越权。然后对于越权的防御的话,就是强加密用户的这个凭证,这样的话可以迟缓用户爆破进行获取这个用户信息的越权,获取用户信息的这个方式,你要实现完善的这个权限认证,就是你的逻辑必须要完善,不能说存在缺陷,然后第三点,避免不必要的这么一个链接暴露在公网,这种更多时候未授权你未授权的这些链接直接暴露在公网。然后第四点,使用成熟的这个权限控制框架,然后说这个框架必须要没有存在对应的一个缺陷问题的。那么我们主要的话给大家分享的就是一个一个漏洞的一个挖掘的一个思路。