《白帽子讲Web安全》笔记1-5章

由于最近公司服务器被攻击,但是公司没有安全工程师,所以自己也想了解这方面的知识,于是购买了此书,看的时候记录了一些自己认为重要的笔记。转载请注明出处:http://blog.csdn.net/cym492224103

    • 第1章 安全世界观

      • 安全评估过程

        • 资产等级划分
        • 威胁分析
        • 风险分析
        • 确认解决方案
    • 第2章 浏览器安全
    • 第3章 XSS攻击
      • 反射型XSS
      • 存储型XSS
      • DOM Based XSS
      • XSS钓鱼
      • XSS攻击平台
      • Flash XSS
      • XSS防御
    • 第4章 CSRF
      • CSRF本质
      • CSRF防御
    • 第5章 点击劫持ClickJacking
      • ClickJacking的本质
      • 防止ClickJacking

第1章 安全世界观

研究系统和网络的人=Hacker

黑客使用的漏洞利用代码=exploit

没有动手能力的黑客=Script Kids

SQL注入的出现是Web安全史上的一个里程碑 1999年出现

XSS(跨站脚本攻击)1999年出现 2003重视

安全问题的本质是信任

安全是一个持续的过程

安全三要素:CIA(C:机密性 Confidentiality)(I:完整性 Integrity)(A:可行性 Availability)

C:加密数据

I:数字签名

A:随需而得

拒接服务攻击 DoS(Denial of Service) DoS破坏了安全的可行性

互联网安全的核心问题,是数据安全的问题。

安全评估过程

1.资产等级划分

目标是什么,要保护什么。

2.威胁分析

可能造成的危害来源=威胁(Threat)

把所有的威胁都找出来。

STRIDE模型(威胁建模)

威胁 定义 对应的安全属性
Spoofing(伪装) 冒充他人身份 认真
Tampering(篡改) 修改数据或代码 完整性
Repudiation(抵赖) 否认做过的事情 不可抵赖性
InformationDisclosure(信息泄露) 机密信息泄露 机密性
Denial of Service(拒绝服务) 拒绝服务 可用性
Elevation of Privilege(提升权限) 未经授权获得许可 授权

3.风险分析

可能会出现的损失=风险(Risk)

Risk = Probability(可能性) * Damage Potential(潜在损害)

DREAD模型

方面 高(3) 中(2) 低(1)
Damage Potential(潜在的损害) 获取最高权限 泄露敏感信息 泄露其他信息
Reproducibility(重现性) 随意多次攻击 重复攻击,有时间限制 很难重复攻击
Exploitability(可利用性) 短时间掌握攻击方法 熟练攻击才能完成 漏洞利用条件非常苛刻
Affected users(受影响的用户) 所有用户、默认配置 部分用户、非默认配置 匿名用户
Discoverability(可发现性) 漏洞明显、容易攻击 私有区域部分人看到 发现漏洞极难

高危(12-15)中危(8-11)低危(0-7)

4.确认解决方案

优秀的安全方案特点

有效解决问题

用户体验好

高性能

低耦合

易于扩展与升级

Secure By Default(默认安全)

类似于白名单

Defense in Depth(纵深防御)

多种不同的防御措施

深入威胁本质,做出正确的应对措施

第2章 浏览器安全

安全策略:同源策略(Same Origin Policy) 所有支持JS的浏览器

Web是构建在同源策略基础之上

所谓同源是指,域名,协议,端口相同。

不同源则拒绝请求

第3章 XSS攻击

跨站脚本攻击(Cross Site Script)

反射型XSS

非持久性XSS Non - persistent XSS

把用户输入的数据反射给浏览器,

如:黑客诱使用户点击一个恶意链接,才能攻击成功

存储型XSS

持久性XSS Persistent XSS

把用户输入的数据储存在服务器

如:发布一篇带js代码的博客文章,所有访问改博文的用户都会在他们的浏览器执行该js

DOM Based XSS

通过修改DOM节点形成XSS

类似SQL注入,标签+JS注入

如:<a href=“+str+”>test</a> str=’ onclick=alert(/test/) //

XSS Payload

Cookie劫持

构造GET与POST请求

GET 直接链接

POST JS生成form表单提交

也可以使用Charles工具修改form内容测试XSS

XSS钓鱼

伪造网页骗取用户信息

XSS攻击平台

Attack API 有多种获取用户隐私信息的JS API

BeEF+ metasploit 测试浏览器漏洞框架 可以控制被攻击者的浏览器 进行任意操作(待研究)

XSS-Proxy(代理)

一个轻量级的XSS攻击平台,实现远程控制被攻击的浏览器

XSS Worm(蠕虫)

利用服务器端软件漏洞进行传播(例:Samy Worm)

攻击条件:用户之间发生交互行为的页面,如果存在存储型XSS,则比较容易发生XSS Worm攻击。

自己理解:通过恶意地址抓取用户cookie然后利用cookie传播恶意地址。

技术:JS,模拟请求接口

回旋镖:B域存在反射型XSS_B,A域存在储存XSS_A,当用户访问A时同时嵌入B,则可以达到A跳转B,让XSS_B攻击用户目的。

Flash XSS

嵌入ActionScript脚本

限制Flash动态脚本的重要参数是allowScriptAccess,这个参数定义了Flash能否与HTML页面进行通信,它有三个值:

always:不限制

sameDomain:只允许本域的Flash与HTML通信,默认值

never:禁止通信

XSS防御

HttpOnly

浏览器将禁止页面的JavaScript访问中带有HttpOnly属性的Cookie。

XSS 格式过滤

XSS的本质是一种“HTML注入”,用户的数据被当成了HTML代码一部分来执行,从而混淆了原本的语义,产生了新的语义。

防御方法

XSS Filter:

html

HTMLEntitites

js

JavascriptEncode

css

encodeForCss()

url

URLEncode

以上方法都属于OWASP ESAPI的方法

第4章 CSRF

Cross Site Request Forgery 跨站点请求伪造

会受到浏览器的影响。

P3P Header 是W3C置顶的一项关于隐私的标准。

如果浏览器http头包含P3P头,则允许发送第三方Cookie。

js模拟GET和POST请求。

CSRF本质

CSRF为什么能够攻击成功?

其本质原因是重要的操作的所有参数都是可以被攻击者猜测到的。

CSRF防御

验证码

Referee Check

ToKen(不可预测性原则:保密性、随机性)

CSRF攻击是攻击者利用用户身份操作用户账户的一种攻击方式。设计CSRF的防御按必须先理解CSRF攻击的原理和本质。

第5章 点击劫持(ClickJacking)

案例:(一个透明的iframe遮罩住一个正常的btn,让用户点击btn的时候点击到透明的iframe)

ClickJacking的本质

点击劫持攻击与CSRF攻击有异曲同工之妙都是在用户不知情的情况下诱使用户完成一些动作。但是在CSRF攻击的过程中,如果出现用户交互的页面就无法顺利完成。但是点击劫持却没有这个顾虑,它利用的就是用户产生的交互。

点击劫持本质是一种视觉欺骗。

防止ClickJacking

1.禁止跨域iframe

js:

if(top.location != self.location){

parent.location = self.location;

}

2.设置X-Frame-Options(HTTP头设置)

三个可选值:

DENY(拒绝当前页加载frame页面)

SAMEORIGIN(frame只能为同域名下面的页面)

ALLOW-FROM origin(无限制)

Firefox的设置

Content Security Policy

NoScript

ClickJacking攻击有可能被攻击者利用在钓鱼、诈骗和广告作弊等方面。

后续会持续发博文更新笔记,谢谢关注。

时间: 2024-10-12 23:22:24

《白帽子讲Web安全》笔记1-5章的相关文章

《白帽子讲web安全》第七章 注入攻击 读书笔记

7.1 sql注入 sql注入98年第一次出现在<phrack>54期上. 注入攻击有两个关键条件,第一是用户能够控制输入,第二是原本程序要执行的代码拼接了用户输入的数据. 如果网站开启了错误回显,将为攻击者提供极大的便利. 7.1.1 盲注 "盲注"是在服务器没有错误回显时完成的攻击. 最常见的盲注方法是构造简单的条件语句,根据返回页面是否发生变化,来判断sql语句是否得到执行. 例如对比"id=2"."id=2 and 1=2"及

《白帽子讲web安全》第三章XSS读书笔记

3.1 xss简介 cross site script 本来缩写是css,为了跟网站开发中的css区分,安全领域称为xss. xss的产生原因是直接把用户的输入,输出到页面上,黑客可以输入脚本语句进行攻击. xss的分类:反射性xss,需要诱使用户点击恶意链接才能攻击成功:存储型xss,也叫持久型xss,黑客输入的数据可以存储在服务器上:DOM based xss,实际上是一种反射性xss,通过修改页面的DOM来进行攻击. 3.2 xss攻击进阶 3.2.1 初探xss payload xss

读&gt;&gt;&gt;&gt;白帽子讲Web安全&lt;&lt;&lt;&lt;摘要→我推荐的一本书

<白帽子讲Web安全>吴翰清著 刚开始看这本书就被这本书吸引,感觉挺不错,给大家推荐下,最近读这本书,感觉不错的精华就记录下, 俗话说>>>好脑袋不如一个烂笔头<<< 还有,大家也看出来,最近我也要开始写博客了, 万事开头难嘛,先拿来那些nx点的人物的书籍来记录下, 本人文笔确实不怎么滴,思路略混乱,中学时代我的作文就是我们班的一盏亮灯,指引我们全班文笔不要向我的文笔思路靠近 ←```warn```→ 读万卷书,行万里路,以后不做宅男.加油··· 信息不等于

白帽子讲Web安全2.pdf

XSS构造技巧 利用字符编码: var redirectUrl="\";alert(/XSS/);"; 本身没有XSS漏洞,但由于返回页面是GBK/GB2312编码的“%c1\”成为了一个Unicode字符,忽略掉转义字符\ %c1";alert(/XSS/);// 绕过长度限制: 很多时候产生XSS的地方会有变量长度限制,将代码藏在location.hash中,然后在其他地方调用即可 http://www.a.com/test.html#alert(1) <

白帽子讲Web安全1.pdf

第一章 我的安全世界观 安全是一个持续过程 6种威胁:Spoofing(伪装).Tampering(篡改).Repudiation(抵赖).InformationDisclosure(信息泄漏).Denial of Service(拒绝服务).Elevation of Privilege(提升权限) 一个优秀的安全方案需要: 有效解决问题 用户体验良好 高性能 低耦合 易于升级和扩展 安全策略 Secure by Default原则(最小权限原则):白名单可通过和禁止黑名单,前者限制的范围更大更

白帽子讲Web安全--读书笔记

在安全圈子里,素有"白帽"."黑帽"一说. 黑帽子是指那些造成破坏的黑客,而白帽子则是研究安全,但不造成破坏的黑客. 白帽子 均以建设更安全的互联网为己任. 不想拿到"root"的黑客,不是好黑客.漏洞利用代码能够帮助黑客们达成这一目标.黑 客们使用的漏洞利用代码,被称为"exploit".在黑客的世界里,有的黑客,精通计算机技术, 能自己挖掘漏洞,并编写 exploit:而有的黑客,则只对攻击本身感兴趣,对计算机原理和各种

《白帽子讲WEB安全》学习笔记之第1章 我的安全世界观

第1章 我的安全世界观 1.1 web安全简史 1.1.1 中国黑客简史 现在中国乃至全世界的黑客或者说是骇客已经进入了"黑暗时代",因为互联网存在这大量的利益. 1.1.2 黑客技术的发展历程 1.1.3 web安全的兴起 web安全是信息安全领域的一个重要的分支,但是中国目前对web安全的重视程度远远不足. 为什么要攻击Web应用,我认为主要有以下几个原因: q  web应用无处不在. q  相比较与操作系统等的安全防御能力,攻破web更容易一些. q  攻击web可以来无影去无踪

白帽子讲Web安全

在安全圈子里,素有"白帽"."黑帽"一说. 黑帽子是指那些造成破坏的黑客,而白帽子则是研究安全,但不造成破坏的黑客. 白帽子 均以建设更安全的互联网为己任. 不想拿到"root"的黑客,不是好黑客.漏洞利用代码能够帮助黑客们达成这一目标.黑 客们使用的漏洞利用代码,被称为"exploit".在黑客的世界里,有的黑客,精通计算机技术, 能自己挖掘漏洞,并编写 exploit:而有的黑客,则只对攻击本身感兴趣,对计算机原理和各种

《白帽子讲Web安全》——第一篇 第一章 我的安全世界观

前些日子定的书单,下放给各淘宝卖家,今天来的第一本就是这本,是一个我完全陌生的领域,然而强烈的好奇心,催使我看完了第一章,其实就是个概述. 1.1 Web安全简史 exploit:黑客们使用的漏洞利用代码. Script Kids:只对攻击本身感兴趣,没有动手能力,对计算机原理和各种编程技术略知一二,因而只能编译别人的代码的黑客,即“脚本小子”. 1. Web安全的兴起 (1)SQL注入 (2)XSS (3)CSRF http://blog.csdn.net/dyllove98/article/

白帽子讲安全学习笔记(一):世界观安全

第一篇 世界观安全 第1章 我的安全世界观 安全三要素:机密性.完整性和可用性 1. 资产等级划分: 2. 威胁分析: 3. 风险分析: 4. 确认解决方案: 威胁分析: 风险分析-DREAD模型: 白帽子兵法: 1. security by default 黑名单.白名单原则: 最小权限原则: 2. 纵深防御原则 不同方面.不同层面的防御方案: 正确的地方做正确的事情: 3. 数据与代码分离 4. 不可预测性原则 让攻击者不能有效的执行攻击 第二篇 客户端脚本安全 第2章 浏览器安全 第3章