《白帽子讲Web安全》

简介: 《白帽子讲Web安全》

一、安全问题的本质是信任问题。

互联网安全的核心是数据安全,数据从高等级的信任域流向低等级的信任域,是不需要安全检查的;数据从低等级的信任域流向高等级的信任域,则需要经过信任边界的安全检查。

二、安全三要素(CIA)

机密性:保护数据内容不泄露。加密是实现机密性要求的常见手段。

完整性:保护数据内容是完整、没有被篡改的。常见的保证一致性的技术手段是数字签名  

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

CIA的要求在登陆验证的需求下表现的淋漓尽致。使用SSL加密传输保证数据的机密性,使用数字签名保证数据未被篡改,使用其他手段保证不被Dos攻击。  

三、白帽子安全兵法

####1、最小权限原则    

系统只授予主体必要的权限,而不要过度授权。  

Ps: 最直接的体现每种类型的后台App一个独立的账号,数据库、Web app、Daemon app使用独立账号管理,只授予必要权限,限定目录读写等权限。  

2、纵深防御原则:

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

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

如无论Web app、Deamon app都需要互不信任、进行防御,构成纵深;然后针对自身的服务针对性的设计安全方案,如Web app主要针对Web安全,后台服务主要防止数据注入。  

3、数据与代码分离

例如:  

<html>
<head></head>
<body>
$var
</body>
</html>

对于这段代码:

<html>
<head></head>
<body>
</body>
</html>

就是程序的代码段,而

$var

就是用户数据。当$var的值是:

<script src="http://evil"></script>

此时就会出现安全问题。此时如何处理,根据代码分离的原则,重写程序片段并对$var进行安全处理  

<html>
<head></head>
<body>
<script>
$var
</script>
</body>
</html>

此时,script还原为代码片段,用户数据只有$var,就可以做安全处理了。

####4、不可预测性

不可预测性能后效的对抗基于篡改、伪造的攻击。例如,一个内容管理系统,如果文章的序号是按照数字升序排列,那么如果攻击者如果想批量删除这些文章,只需要简单的一个脚本:  

for (i=0; i<1000; i++) {
delete(url+"?id="+i);
}

四、跨站脚本攻击(XSS:cross site script)

本质:用户数据被当成了HTML代码的一部分执行,从而混淆了原本的语义,产生新的语义

XSS根据效果可以划分为一下几类:

1、反射型\存储型XSS

原理:从服务器应用直接输出到HTML页面中以进行攻击的XSS漏洞  

防御:

输入检查:根据数据的特征进行简单的XSS过滤  

输出检查:根据输出的场景进行XSS防御,根据场景的不同选择合适的encode函数。常见的场景包括:HTML标签、HTML属性、script标签、CSS、地址栏、Http Response头。  

2、DOM Based XSS

原理:通过Javascript修改HTML页面的DOM节点时形成的XSS漏洞  

防御:在数据输入到Javascript中应该执行一次javascriptEncode,然后同上。即,从Javascript输出到HTML页面也相当于一次XSS输出的过程,需要分场景使用不同的encode函数。  

五、跨站点请求伪造(CSRF:cross site request forgery)

本质:重要操作的所有参数都可以被攻击者猜测到的。攻击者只有预测出URL的所有参数和参数值,才能成功地构造一个伪造的参数;反之,攻击者将无法攻击成功  

防御:anti CSRF Token,保持原参数不变,新增一个参数token,该参数的值是随机的。通过添加此参数,促使攻击者无法预测所有参数值以预防CSRF。

不可预测性  

CSRF与XSRF不同,解决后者的唯一办法首先是解决XSS问题,然后才是CSRF问题。  

六、SQL注入

本质:代码拼凑了用户可以控制的输入数据。

防御:使用预编译语句或存储过程;检查数据变量;使用安全函数进行数据编码。

七、拒绝服务攻击(DDOS:Distributed Denial of Service)

本质:对涌现资源的无限制滥用造成服务不可用

防御:解决的核心思路是限制每个不可信任的资源使用者的配额。

1.根据攻击特征,使用数据清洗设备进行数据清洗

2.在应用中针对每个IP做请求频率限制。

3.应用代码做好性能优化

4.使用验证码

总结

总结以上Web安全的相关知识,如下图:

本文作者 : cyningsun

本文地址https://www.cyningsun.com/04-13-2014/web-security.html

版权声明 :本博客所有文章除特别声明外,均采用 CC BY-NC-ND 3.0 CN 许可协议。转载请注明出处!

目录
相关文章
|
1天前
|
安全 应用服务中间件 网络安全
实战经验分享:利用免费SSL证书构建安全可靠的Web应用
本文分享了利用免费SSL证书构建安全Web应用的实战经验,涵盖选择合适的证书颁发机构、申请与获取证书、配置Web服务器、优化安全性及实际案例。帮助开发者提升应用安全性,增强用户信任。
|
1月前
|
SQL 负载均衡 安全
安全至上:Web应用防火墙技术深度剖析与实战
【10月更文挑战第29天】在数字化时代,Web应用防火墙(WAF)成为保护Web应用免受攻击的关键技术。本文深入解析WAF的工作原理和核心组件,如Envoy和Coraza,并提供实战指南,涵盖动态加载规则、集成威胁情报、高可用性配置等内容,帮助开发者和安全专家构建更安全的Web环境。
60 1
|
1月前
|
安全 前端开发 Java
Web安全进阶:XSS与CSRF攻击防御策略深度解析
【10月更文挑战第26天】Web安全是现代软件开发的重要领域,本文深入探讨了XSS和CSRF两种常见攻击的原理及防御策略。针对XSS,介绍了输入验证与转义、使用CSP、WAF、HTTP-only Cookie和代码审查等方法。对于CSRF,提出了启用CSRF保护、设置CSRF Token、使用HTTPS、二次验证和用户教育等措施。通过这些策略,开发者可以构建更安全的Web应用。
86 4
|
1月前
|
安全 Go PHP
Web安全进阶:XSS与CSRF攻击防御策略深度解析
【10月更文挑战第27天】本文深入解析了Web安全中的XSS和CSRF攻击防御策略。针对XSS,介绍了输入验证与净化、内容安全策略(CSP)和HTTP头部安全配置;针对CSRF,提出了使用CSRF令牌、验证HTTP请求头、限制同源策略和双重提交Cookie等方法,帮助开发者有效保护网站和用户数据安全。
67 2
|
1月前
|
存储 安全 Go
Web安全基础:防范XSS与CSRF攻击的方法
【10月更文挑战第25天】Web安全是互联网应用开发中的重要环节。本文通过具体案例分析了跨站脚本攻击(XSS)和跨站请求伪造(CSRF)的原理及防范方法,包括服务器端数据过滤、使用Content Security Policy (CSP)、添加CSRF令牌等措施,帮助开发者构建更安全的Web应用。
91 3
|
1月前
|
SQL 安全 Go
PHP在Web开发中的安全实践与防范措施###
【10月更文挑战第22天】 本文深入探讨了PHP在Web开发中面临的主要安全挑战,包括SQL注入、XSS攻击、CSRF攻击及文件包含漏洞等,并详细阐述了针对这些风险的有效防范策略。通过具体案例分析,揭示了安全编码的重要性,以及如何结合PHP特性与最佳实践来加固Web应用的安全性。全文旨在为开发者提供实用的安全指南,帮助构建更加安全可靠的PHP Web应用。 ###
41 1
|
2月前
|
Kubernetes 安全 应用服务中间件
动态威胁场景下赋能企业安全,F5推出BIG-IP Next Web应用防火墙
动态威胁场景下赋能企业安全,F5推出BIG-IP Next Web应用防火墙
54 3
|
2月前
|
缓存 安全 JavaScript
掌握JAMstack:构建更快、更安全的Web应用
JAMstack 是一种现代 Web 开发架构,结合 JavaScript、APIs 和 Markup,创建更快、更安全的 Web 应用。其核心优势包括高性能、安全性、可扩展性和易维护性。JAMstack 通过预构建静态页面和 API 实现高效渲染,利用静态站点生成器如 Gatsby 和 Next.js,并借助 CDN 和缓存策略提升全球访问速度。尽管面临复杂交互、SEO 和数据更新等挑战,但通过 Serverless Functions、预渲染和实时 API 更新等方案,这些挑战正逐步得到解决。
|
2月前
|
监控 安全 Apache
构建安全的URL重定向策略:确保从Web到App平滑过渡的最佳实践
【10月更文挑战第2天】URL重定向是Web开发中常见的操作,它允许服务器根据请求的URL将用户重定向到另一个URL。然而,如果重定向过程没有得到妥善处理,可能会导致安全漏洞,如开放重定向攻击。因此,确保重定向过程的安全性至关重要。
127 0
|
2月前
|
云安全 SQL 安全
数字时代下的Web应用程序安全:漏洞扫描服务的功能与优势
在当今这个数字化时代,Web应用程序不仅是企业与用户之间互动的桥梁,更是企业展示服务、传递价值的核心平台。然而,随着技术的不断进步,Web应用程序的复杂性也在不断增加,这为恶意攻击者提供了可乘之机。安全漏洞的频发,如SQL注入、跨站脚本攻击(XSS)、跨站请求伪造(CSRF)等,严重威胁着企业的数据安全、服务稳定性乃至经济利益。在这样的背景下,漏洞扫描服务作为一道重要的安全防线,显得尤为重要。本文将深入探讨漏洞扫描服务在面对Web应用程序安全问题时,所具备的功能优势。