越权漏洞的挖掘

越权的理解:能够操作超越本身权限之外的操作

比如在一个商城类型网站里面 一般有三种用户 1、游客2、会员3、管理员

越权也分为三种 1、平行越权2、垂直越权3、Cookie越权

我们也可以想下对于越权的操作里应当是服务端没有正确的处理好所接收的参数而接收任意的参数然后返回请求者所要请求的的任意内容

那么这里就有参数这个点:

参数 所在的http报文的位置: 1、get请求参数 2、post请求参数 3、cookie中的键值对

那么我们越权的操作就可以在这三个方面寻找

然后我们再说下越权的发生的功能点的位置 1、个人资料的地址 2、下订单的地址 3、登陆时候的参数比如type之类的

理解:1、每个功能点的请求方法都不同 比如个人资料的地址和下订单的地址的两个修改的功能点 虽然功能点的目的是一样的 但是其实请求的参数所在的控制器是不一样的 一个个人资料的修改请求时候的修改id的参数可能就是 update xxxxx set add=1 where id=1 这里的addr在代码中可能经过过滤 然后在进行数据库的操作 但是在下订单的时候修改的参数依然是update xxxxx set add=1 where id=1 但是addr是没有经过过滤的 所以也有可能导致注入之类的 比如来构成闭合语句update xxxxxx set add = 1 where id = 2# where id =1 这样的话也可以达到越权去修改他人的地址的操作 主要我想讲的是这其实是两个方法 虽然功能点所达到的目的相同 类似的删除地址的功能点也是如此

在平行越权1、越权查看个人地址 2、越权查看个人订单号3、越权查看个人资料

就是需要观察id、orderid类似的参数进行遍历查询信息

垂直越权1、游客 会员 管理员之间的权限是不同的 通过垂直越权会员能够得到管理员的权限 注意的地方注册的时候通过抓包查看有没有类似的type之类的参数 我认为的数据库语句应该是insert into xxxx(a,b,c,d,type) values(x,x,x,x,1/0); 这个type参数应当是来判断是否是管理员或者是会员的情况 当登陆的时候select type from users where username=’xxx’
来获取这个type 是否为1或者是0 然后进行下一步操作 想了下如果这样的话那么会员和管理员也应该在同一张表里面

同样的get、post中的type参数之外也有可能在cookie中type参数中获取 数据库的操作应当和上面差不多吧

Cookie越权操作:其实差不多都一个道理
总结:对每个类似/不同功能点(与数据库进行交互)的数据包中三个位置的重要参数的注意

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值