标签:burpsuit clip youdao jdk 其他 关闭 firefox 选项 求和
越权漏洞是Web应用程序中一种常见的安全漏洞。它的威胁在于一个账户即可控制全站用户数据。当然这些数据仅限于存在漏洞功能对应的数据。越权漏洞的成因主要是因为开发人员在对数据进行增、删、改、查询时对客户端请求的数据过分相信而遗漏了权限的判定。所以测试越权就是和开发人员拼细心的过程。
主要分为水平越权和垂直越权,根据我们的业务通俗的表达一下这两者的区别:
水平越权:两个不同的公司A和B,通过修改请求,公司A可以任意修改B公司的员工、部门、考勤等信息;
垂直越权:同一个公司不同权限的管理员A和B,通过修改请求,管理员A可以修改不在他管辖范围内的员工的部门、考勤、工资等信息;
推荐一:【BurpSuite】+【firefox】
推荐二:【fiddler】+【fiddler】+【SwitchyOmega】
推荐的这两套工具都可以完成越权测试,用哪个都可以。
在与服务器进行数据交互时客户端携带着标识用户的身份的cookie,当服务端的session与cookie中的身份匹配成功后,才能允许该用户进行相关操作(cookie和session的关系-->一弹、二弹)。除了cookie之外,在请求中可能会带一些参数,细览下可能存在辨别信息的唯一值,来进行测试。这里要说一点,传输的参数并不一定在请求参数中,也有可能存在URL链接的位置(GET和POST请求的区别)。当拦截一个请求后分析是否有参数:
1、请求中不存在参数,只用cookie进行身份验证,无法水平越权,可能出现垂直越权;
2、请求中存在参数,并且参数中的某些值可能是辨别信息的唯一值(如employeeID、departmentID、ID等),可能存在水平和垂直越权;越权的原因是参数中的employeeID没有判断是否是cookie中用户所管辖的员工ID。
首先打开firefox,在地址栏输入burpsuite的默认监听地址及端口127.0.0.1:8080,点击CA Certificate下载并保存证书cacert.der,如图二
接着依次点击firefox的菜单->选项->高级->证书->查看证书->证书机构->导入,选择刚才下载的cacert.der,在弹出的窗口中勾选“信任此CA标识的网站”,最后点击确定,如图三。
寻找网站中可以对数据进行增删改查的地方,比如我们要测试一下调整年假的操作是否存在越权时,先操作修改年假数量,然后在点击保存之前打开intercept的拦截开关,最后再点击确定按钮,就会拦截到请求数据,如图四
再打开一个firefox的隐身窗口(小技巧:firefox的普通窗口和隐私窗口不同源,可以分别登录两个公司,方便操作和查看),用公司B登录;刚才用普通窗口登录的是公司A,拦截请求时的employeeId是属于公司A的员工A01;我们可以通过浏览器自带的调试工具或同样的拦截方法获取一下公司B的员工B01的employeeId。把burpsuite切换到repeater模块,修改参数为员工B01的employeeId,点击GO,如下图
查看这条返回数据的状态是true,message信息内容是“数据保存成功”,然后查看公司B的员工B01的年假是否显示我们请求时填写的99。
◆如果B公司的员工B01的年假显示为99:越权成功,我们用公司A的请求身份成功的修改了B公司员工B01的年假;
◆如果B公司的员工B01的年假没有变化:虽然返回数据为true,但是实际没有改变数值,这可以看做不存在越权漏洞;
水平越权是测试不同公司之间是否可以互相操作,垂直越权是测试同一公司不同权限的管理员是否可以操作不属于他管辖范围内的员工等。
大概说一下垂直越权测试流程,感兴趣的童鞋可以尝试一下:
◆事业部管理员操作员工年假修改,拦截到请求后,把employeeId改成属于这个公司但是不属于这个事业部的员工,查看是否可以修改成功。
◆考勤权限管理员登录并修改员工年假,拦截请求并添加到repeater;公告权限管理员登录获取cookie数据;回放请求时换成公告权限管理员的cookie,查看是否可以修改成功。
标签:burpsuit clip youdao jdk 其他 关闭 firefox 选项 求和
原文地址:http://www.cnblogs.com/x-pro/p/7264481.html