http消息头注入
在重定向或生成cookie等外部传参的参数输出http相应头所产生的安全隐患【参数中插入换行符】
生成任意cookie
%0D%0A 就是换行符
防御:
不直接使用url,是同编号的方式来指定
检查换行符
访问控制
前端篡改 校验绕过
防御:
客户侧提交的数据不可信
限制用户输入不现实
到达后续截断的用户不一定拥有相关权限
(修改密码的适合要提交旧密码)
url没有保密性
(不要妄图修改后台地址达到保密)
攻击方式
前端数据篡改:
篡改referer到达后续
篡改隐藏表单
篡改cookie
篡改URL参数(GET)
(修改url表示符达到越权访问)
篡改消息主题参数(POST)
前端校验绕过:禁用JS bp改包
绕过HTML表单内置输入确认机制
(修改前端参数)
基于脚本确认
(抓包修改后缀)
访问控制:
垂直权限提升: 未授权访问
完全不受保护
基于菜单防护
基于权限标识符
(admin=false/true)
静态文件未授权下载
平台配置错误
其他(基于位置)
水平权限提升:
基于标识符功能
(bp改包,可以看到不用工号的内容,
过于信任客户侧修改参数
防御:
添加筛选,只能获取session中的参数
)
上下文相关的访问控制:
(后端没有校验
客户提交手机号+新密码就成功
那么就可以修改其他手机号和密码
打破业务逻辑)
基于erferer
异步提交 : 直接访问下步骤url
最后提交数据篡改造成非法操作
功能逻辑被打破
防御(访问控制 越权):
不要太过于信任客户的侧数据,通过session来获取关键字
对于 垂直权限提升:
使用中央的越权限过滤器,对每个用户的url的请求来过滤,但是url要注意是否为篡改
在最后步骤中,要重新校验前面步骤提交的认证数据,就是异步控制机制还要防止越权校验
对于敏感操作要单独记录
赋予其他的防控措施
IP/MAC/双重校验/加密防篡改