白帽子讲Web安全-客户端脚本安全

2024-05-03 21:48

本文主要是介绍白帽子讲Web安全-客户端脚本安全,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1.安全世界观

1.1安全三要素

机密性Confidentiality:要求保护数据内容不能泄露,加密是实现机密性要求烦人常见手段;

完整性Integrity:要求保护数据内容是完整,没有被篡改的;

可用性Availability:要求保护资源是“随需而得”。

1.2实施安全评估

资产等级划分:对数据做等级划分,后划分信任域和信任边界;

威胁分析:可能造成危害的来源称为威胁,威胁分析是要把所有的威胁都找出来,一般采用头脑风暴法或者建模法;

风险分析:可能会出现的损失称为风险,可通过DREAD模型科学衡量风险;

安全解决方案:方案应能够有效解决问题,用户体验好,高性能,低耦合,易于扩展与升级。

1.3白帽子兵法

1.3.1 Secure By Default原则:

>白名单黑名单

    若更多地使用白名单,则系统就会变得更安全。

按照白名单的思想,应根据业务需求,列出一个允许使用的软件以及软件版本的清单,在此清单外的软件则禁止使用,注意避免出现类似通配符的问题。

>最小权限原则

    要求系统只授予主体必要的权限,而不要过度授权,需要认真梳理业务所需要的权限。

1.3.2 Defense in Depth纵深防御原则:

首先,要在各个不同层面,不同方面实施安全方案,避免出现疏漏,不同安全方案之间需要相互配合,构成一个整体;

其次,要在正确的地方做正确的事情,在解决根本问题的地方实施针对性的安全方案。

1.3.3 数据与代码分离原则

程序在栈或者堆中,将用户数据当做代码执行,混淆了代码与数据的边界,导致缓冲区溢出等安全问题,使用过滤,编码等手段,把可能造成代码混淆的用户数据清理掉。在Web安全中,由“注入”引起的问题很多,如XSS,X-Path等。

1.3.4 不可预测性原则

不可预测性能有效地对抗基于篡改,伪造的攻击,可以巧妙用于一些敏感数据上,实现往往需要用到加密算法,随机数算法,哈希算法。

 

2.客户端脚本安全

浏览器安全:浏览器本身就是一个客户端,若具备安全功能,则能想安全软件一样对用户上网起到很好的保护作用,另外浏览器安全也是浏览器厂商之间竞争的底牌。

2.1同源策略

同源策略(Same Origin Policy)是浏览器最核心最基本的功能。限制了来自不同源的“document”或脚本,对当前“document”读取或设置某些属性。

影响源的因素有:host(域名或IP地址),子域名,端口,协议。

对于当前页面来说,页面内存放JavaScript文件的域并不重要,重要的是加载JavaScript页面所在的域是什么。在浏览器中,<script>, <img>, <iframe>, <link>等标签是可以跨域加载资源,而不受同源策略的限制。

XMLHttpRequest受到同源策略的约束,不能跨域访

这篇关于白帽子讲Web安全-客户端脚本安全的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/957717

相关文章

input的accept属性让文件上传安全高效

《input的accept属性让文件上传安全高效》文章介绍了HTML的input文件上传`accept`属性在文件上传校验中的重要性和优势,通过使用`accept`属性,可以减少前端JavaScrip... 目录前言那个悄悄毁掉你上传体验的“常见写法”改变一切的 html 小特性:accept真正的魔法:让

JavaWeb项目创建、部署、连接数据库保姆级教程(tomcat)

《JavaWeb项目创建、部署、连接数据库保姆级教程(tomcat)》:本文主要介绍如何在IntelliJIDEA2020.1中创建和部署一个JavaWeb项目,包括创建项目、配置Tomcat服务... 目录简介:一、创建项目二、tomcat部署1、将tomcat解压在一个自己找得到路径2、在idea中添加

JavaWeb 中的 Filter组件详解

《JavaWeb中的Filter组件详解》本文详细介绍了JavaWeb中的Filter组件,包括其基本概念、工作原理、核心接口和类、配置方式以及常见应用示例,Filter可以实现请求预处理、响应后... 目录JavaWeb 中的 Filter 详解1. Filter 基本概念1.1 什么是 Filter1.

Redis的安全机制详细介绍及配置方法

《Redis的安全机制详细介绍及配置方法》本文介绍Redis安全机制的配置方法,包括绑定IP地址、设置密码、保护模式、禁用危险命令、防火墙限制、TLS加密、客户端连接限制、最大内存使用和日志审计等,通... 目录1. 绑定 IP 地址2. 设置密码3. 保护模式4. 禁用危险命令5. 通过防火墙限制访问6.

Java Lettuce 客户端入门到生产的实现步骤

《JavaLettuce客户端入门到生产的实现步骤》本文主要介绍了JavaLettuce客户端入门到生产的实现步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要... 目录1 安装依赖MavenGradle2 最小化连接示例3 核心特性速览4 生产环境配置建议5 常见问题

Java JUC并发集合详解之线程安全容器完全攻略

《JavaJUC并发集合详解之线程安全容器完全攻略》Java通过java.util.concurrent(JUC)包提供了一整套线程安全的并发容器,它们不仅是简单的同步包装,更是基于精妙并发算法构建... 目录一、为什么需要JUC并发集合?二、核心并发集合分类与详解三、选型指南:如何选择合适的并发容器?在多

Linux下MySQL数据库定时备份脚本与Crontab配置教学

《Linux下MySQL数据库定时备份脚本与Crontab配置教学》在生产环境中,数据库是核心资产之一,定期备份数据库可以有效防止意外数据丢失,本文将分享一份MySQL定时备份脚本,并讲解如何通过cr... 目录备份脚本详解脚本功能说明授权与可执行权限使用 Crontab 定时执行编辑 Crontab添加定

Web服务器-Nginx-高并发问题

《Web服务器-Nginx-高并发问题》Nginx通过事件驱动、I/O多路复用和异步非阻塞技术高效处理高并发,结合动静分离和限流策略,提升性能与稳定性... 目录前言一、架构1. 原生多进程架构2. 事件驱动模型3. IO多路复用4. 异步非阻塞 I/O5. Nginx高并发配置实战二、动静分离1. 职责2

SpringBoot通过main方法启动web项目实践

《SpringBoot通过main方法启动web项目实践》SpringBoot通过SpringApplication.run()启动Web项目,自动推断应用类型,加载初始化器与监听器,配置Spring... 目录1. 启动入口:SpringApplication.run()2. SpringApplicat

Java调用Python脚本实现HelloWorld的示例详解

《Java调用Python脚本实现HelloWorld的示例详解》作为程序员,我们经常会遇到需要在Java项目中调用Python脚本的场景,下面我们来看看如何从基础到进阶,一步步实现Java与Pyth... 目录一、环境准备二、基础调用:使用 Runtime.exec()2.1 实现步骤2.2 代码解析三、