白帽子讲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

相关文章

解决JavaWeb-file.isDirectory()遇到的坑问题

《解决JavaWeb-file.isDirectory()遇到的坑问题》JavaWeb开发中,使用`file.isDirectory()`判断路径是否为文件夹时,需要特别注意:该方法只能判断已存在的文... 目录Jahttp://www.chinasem.cnvaWeb-file.isDirectory()遇

JavaWeb-WebSocket浏览器服务器双向通信方式

《JavaWeb-WebSocket浏览器服务器双向通信方式》文章介绍了WebSocket协议的工作原理和应用场景,包括与HTTP的对比,接着,详细介绍了如何在Java中使用WebSocket,包括配... 目录一、概述二、入门2.1 POM依赖2.2 编写配置类2.3 编写WebSocket服务2.4 浏

使用Java实现获取客户端IP地址

《使用Java实现获取客户端IP地址》这篇文章主要为大家详细介绍了如何使用Java实现获取客户端IP地址,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 首先是获取 IP,直接上代码import org.springframework.web.context.request.Requ

10个Python自动化办公的脚本分享

《10个Python自动化办公的脚本分享》在日常办公中,我们常常会被繁琐、重复的任务占据大量时间,本文为大家分享了10个实用的Python自动化办公案例及源码,希望对大家有所帮助... 目录1. 批量处理 Excel 文件2. 自动发送邮件3. 批量重命名文件4. 数据清洗5. 生成 PPT6. 自动化测试

使用Java实现一个解析CURL脚本小工具

《使用Java实现一个解析CURL脚本小工具》文章介绍了如何使用Java实现一个解析CURL脚本的工具,该工具可以将CURL脚本中的Header解析为KVMap结构,获取URL路径、请求类型,解析UR... 目录使用示例实现原理具体实现CurlParserUtilCurlEntityICurlHandler

10个Python Excel自动化脚本分享

《10个PythonExcel自动化脚本分享》在数据处理和分析的过程中,Excel文件是我们日常工作中常见的格式,本文将分享10个实用的Excel自动化脚本,希望可以帮助大家更轻松地掌握这些技能... 目录1. Excel单元格批量填充2. 设置行高与列宽3. 根据条件删除行4. 创建新的Excel工作表5

浅析Rust多线程中如何安全的使用变量

《浅析Rust多线程中如何安全的使用变量》这篇文章主要为大家详细介绍了Rust如何在线程的闭包中安全的使用变量,包括共享变量和修改变量,文中的示例代码讲解详细,有需要的小伙伴可以参考下... 目录1. 向线程传递变量2. 多线程共享变量引用3. 多线程中修改变量4. 总结在Rust语言中,一个既引人入胜又可

Linux中shell解析脚本的通配符、元字符、转义符说明

《Linux中shell解析脚本的通配符、元字符、转义符说明》:本文主要介绍shell通配符、元字符、转义符以及shell解析脚本的过程,通配符用于路径扩展,元字符用于多命令分割,转义符用于将特殊... 目录一、linux shell通配符(wildcard)二、shell元字符(特殊字符 Meta)三、s

Python脚本实现自动删除C盘临时文件夹

《Python脚本实现自动删除C盘临时文件夹》在日常使用电脑的过程中,临时文件夹往往会积累大量的无用数据,占用宝贵的磁盘空间,下面我们就来看看Python如何通过脚本实现自动删除C盘临时文件夹吧... 目录一、准备工作二、python脚本编写三、脚本解析四、运行脚本五、案例演示六、注意事项七、总结在日常使用

java脚本使用不同版本jdk的说明介绍

《java脚本使用不同版本jdk的说明介绍》本文介绍了在Java中执行JavaScript脚本的几种方式,包括使用ScriptEngine、Nashorn和GraalVM,ScriptEngine适用... 目录Java脚本使用不同版本jdk的说明1.使用ScriptEngine执行javascript2.