首页 > 其他分享 >【黑客攻防技术宝典】01-安全风险与核心防御机制

【黑客攻防技术宝典】01-安全风险与核心防御机制

时间:2022-10-27 21:44:06浏览次数:63  
标签:01 处理 访问控制 宝典 应用程序 用户 安全 攻击者 防御机制

黑客攻防技术宝典——安全风险与核心防御机制

阅读范围:黑客攻防技术宝典(web实战篇)第一、二章内容



1-Web应用程序安全与风险

没有绝对安全

​ 使⽤ SSL(Secure Socket Layer,安全套接层)技术不能保证Web站点的绝对安全。
​ SSL 为用户浏览器和Web服务器间传输的数据提供机密性与完整性保护功能,虽有助于防⽌信息泄露,并可保证用户处理的Web服务器的安全性,但不能抵御直接针对某个应用程序的服务器或客户端组件的攻击。

一些常见的漏洞

  • 不完善的身份验证措施
  • 不完善的访问控制措施
  • SQL注⼊
  • 跨站点脚本
  • 信息泄露
  • 跨站点请求伪造

核心安全问题:用户可提交任意输入

​ SSL无法阻止攻击者向服务器提交专门设计的输⼊。
​ 应用程序使用SSL仅仅表⽰⽹络上的其他用户无法查看或修改攻击者传送的数据。

关键问题因素

1. 安全意识不强

2. 开发问题

  • 独立开发或使用的组件包含缺陷
  • 开发工具简化,容易忽视安全问题
  • 受时间和资源限制,缺乏安全测试

3. 形势发展

  • 安全威胁递增
  • 功能需求增加
  • 开发技术过时

安全边界变化

​ 网络资源愈发丰富后,受攻击面的范围也扩大了,从单纯的边界防火墙和主机,逐渐到后端系统和内网,甚至还有各种拓展插件和邮件客户端等。因此,安全边界也在不断变化。


2-核心防御机制

  1. 处理用户访问
  2. 处理用户输⼊
  3. 处理攻击者
  4. 管理应用程序

处理用户访问

三层机制
  • 身份验证
  • 会话管理
  • 访问控制

​ 木桶效应:三层相互关联,相互依赖,任何一个部分存在缺陷都可能使攻击者自由访问应用程序的功能与数据。

最薄弱的机制

​ 应用程序处理用户访问的机制是所有机制中最薄弱的机制。

​ 典型的应用程序使用三重机制(身份验证、会话管理和访问控制)来处理访问。这些组件之间高度相互依赖,其中任何一个组件存在缺陷都会降低整个访问控制机制的效率。例如,攻击者可以利用身份验证机制中的漏洞以任何用户身份登录,并因此获得未授权访问权限。如果能够预测令牌,攻击者就可以假冒成任何已登录用户并访问他们的数据。如果访问控制不完善,则任何用户都可以直接使用应该受到保护的功能。

处理用户输入

注意事项
  1. 限制输入的长度、格式、字符、数据类型等
  2. 接受⼴泛的输⼊,不限制合法请求
  3. 检查cookie等特殊值是否经过篡改
处理方法
  • 设置黑名单

  • 设置白名单

    但不可能始终使用基于白名单的方法进行输入确认

  • 净化恶意字符:删除、编码、转义

  • 检查语法,验证权限

  • 处理后多步确认

  • 编码规范统一

处理攻击者

处理措施
  • 处理错误,向用户报错:但不要返回过于详细的错误信息
  • 维护审计日志,事后调查事件:严格保护,防止披露敏感信息
  • 向管理员发出警报,应急响应:及时应对可将影响降到最低,但涉及到设备的准确性问题
  • 应对攻击:阻⽌显⽽易见的攻击不如修复程序存在的漏洞重要,但不可能修复成完美无缺的系统,所以给攻击者设置更多阻碍,能有效降低深层漏洞被发现和利用的可能。

管理应用程序

管理机制存在的风险
  • 身份认证机制中,被攻击者利用普通用户垂直越权到管理员账户
  • 未执行有效访问控制,通过普通用户权限也可进行管理员权限的操作
管理功能被攻破后的风险
  • 在管理后台未对普通用户数据进行加密
  • 管理员权限过大,可执行危险操作

Q&A

1. 会话与会话令牌有何不同?

会话是服务器上保存的一组数据结构,用于追踪用户与应用程序交互的状态。

会话令牌是应用程序为会话分配的一个特殊字符串,用户需要在连接提出请求的过程中提交该字符串,以重新确认自己的身份。

2. 为何不可能始终使用基于白名单的方法进行输入确认?

许多时候,应用程序可能会被迫接受与已知为“良性”输入的列表或模式不匹配的待处理数据。

例如,许多用户的姓名包含可用在各种攻击中的字符。如果应用程序希望允许用户以真实姓名注册,就需要接受可能的恶意输入,并确保安全处理这些输入。

3. 攻击者正在攻击一个执行管理功能的应用程序,并且不具有使用这项功能的任何有效证书。为何他仍然应当密切关注这项功能呢?

攻击者可以利用任何访问控制核心机制中的缺陷未授权访问管理功能。

此外,攻击者以低权限用户身份提交的数据最终将向管理用户显示,因此,攻击者可以提交一些恶意数据,用于在管理用户查看这些数据时攻破他们的会话,从而对管理用户实施攻击。

标签:01,处理,访问控制,宝典,应用程序,用户,安全,攻击者,防御机制
From: https://www.cnblogs.com/0dot7/p/16833790.html

相关文章

  • STM32MP157 LINUX学习笔记01
    开发板IP:192.168.5.9配置命令ifconfigeth0192.168.5.9windowsIP:192.168.5.10ubuntuIP: 192.168.5.11首先确保三者互ping通过 通过这个博客学习如何配置ubuntu......
  • 力扣(leetcode) 401. 二进制手表(枚举)(奇妙思路循环)
    题目在这:​​https://leetcode-cn.com/problems/binary-watch/​​题目分析:用通俗易懂的语言解释一下题目的意思。上面一行是小时。下面一行是分钟。拿题目给的图解释......
  • 力扣(leetcode) 101. 对称二叉树 (对称的性质)(传统递归法)
    题目在这:​​https://leetcode-cn.com/problems/symmetric-tree/​​法一:思路分析:题目没什么难的。对称二叉树,也可以理解为镜像二叉树。第一种方法比较容易理解,对称二叉......
  • 2019软工期中考试初版实现
    第七次全国人口普查登记(20分)1、项目需求:开展第七次全国人口普查,将为编制“十四五”规划提供重要信息支持;推动实现人口与经济社会、资源环境协调发展,为深化供给侧结构性改......
  • [JSOI2010]连通数
    传送地址:https://www.luogu.com.cn/problem/P4306题目描述度量一个有向图连通情况的一个指标是连通数,指图中可达顶点对个的个数。如图顶点 11 可达 1,2,3,4,51......
  • P4349 [CERC2015]Digit Division
    题目传送门思路以下纯考场思路。今天模拟赛考到了这题的加强版,然后预处理写炸了,\(100\)变成\(70\),当是给CSP攒rp了。首先一眼看到题目可能会没有思路,没什么关系,......
  • 如何添加网狐荣耀6801的3D桌子效果
    默认的桌子是平面图,头像也很丑,讲一下怎么改为3D桌子效果如下:  引入增加的代码和资源,要把头文件和cpp都添加到项目,然后资源要在版本RC里面引入,注意代码不能直接替换,需......
  • 代码随想录day22 | 235. 二叉搜索树的最近公共祖先 701. 二叉搜索树中的插入操作 45
    235.二叉搜索树的最近公共祖先题目|文章思路在二叉树公共祖先问题中,可以通过后序遍历,从二叉树节点向上遍历,找到最近公共祖先。本题中我们可以利用二叉搜索树的特性对......
  • uva 1401 字典树模板
    给一个串和一个字典(一些字符串)将这个串分解为字典单词的连接(如abcd=ab+cd=a+bcd)问有多少方案线性dp枚举位置if[i]+=f[j]i<j,string(i,j)为字典单词直接......
  • 网狐荣耀6701、6801版本游戏的环境搭建与编译、发布
    代码已提交:https://pan.baidu.com/s/1kKR-vieIzkagcjmYcG75KQ提取码:4dxt 之前在网上买了一套源码,完完整整从头到尾研究了一遍,踩过很多坑。在这里简单记录下。参考了一......