分类
- 水平越权:通过更换的某个 ID 之类的身份标识,从而使 A 账号获取(修改、删除等)B 账号数据。
- 垂直越权:使用低权限身份的账号,发送高权限账号才能有的请求,获得其高权限的操作。
- 未授权访问:通过删除请求中的认证信息后重放该请求,依旧可以访问或者完成操作。
原理
前端安全造成:界面
- 判断用户等级后,代码界面部分进行可选显示
后端安全造成:数据库
user 表(管理员和普通用户同表) id,username,password,usertype 1,admin,123456,1 2,xiaodi,11111,2
登录用户 admin 或 xiaodi 时,代码是如何验证这个级别?(usertype 判断) 如果在访问数据包中有传输用户的编号、用户组编号或类型编号的时候,那么尝试对这个值进行修改,就是测试越权漏洞的基本。
修复防御方案
- 前后端同时对用户输入信息进行校验,双重验证机制
- 调用功能前验证用户是否有权限调用相关功能
- 执行关键操作前必须验证用户身份,验证用户是否具备操作数据的权限
- 直接对象引用的加密资源 ID,防止攻击者枚举 ID,敏感数据特殊化处理
- 永远不要相信来自用户的输入,对于可控参数进行严格的检查与过滤
验证码爆破
先判断前端是否有验证:
- 查看网页源代码,或者网络种有没有加载新的JS文件
- 开启bp,点击获取验证码,查看bp中的 HTTP history,看有没有新的包被获取到 然后判断后端是否有验证:
- 输入一个正确的验证码,抓包,然后修改验证码,查看返回包的结果。当验证码被我们修改后,后端返回的数据包不变,说明后端没有对验证码进行校验。
token爆破
有些网站登陆时会带着token,当第一次登录后,服务器生成一个Token便将此Token返回给客户端,以后客户端只需带上这个Token前来请求数据即可,无需再次带上用户名和密码。如果爆破时只修改密码,不修改token,后续的操作将无法进行
首先抓取登陆时的数据包,发给Intruder,分别为密码和token添加payload,密码常规即可
着重讲解token的payload设置:
- 首先在资源池里并发数改为1,间隔为200ms,因为需要上一个数据包的响应包
- 设置中找到检索-提取,添加选取网页种返回的token,并复制
- 设置中重定向中勾选在重定向期间处理cookie
- payload选递归提取,并粘贴我们刚刚复制的token作为初试payload(不填也可以)
开始爆破

Comments NOTHING