白帽子讲Web安全
第一章.世界观安全
1.网络安全
最先研究计算机系统和网络安全的人称之为“Hacker”,人们习惯于称他们为黑客。字面意思的理解就是专门破坏规则,寻找一些系统漏洞,以获得某些权力。对于现在计算机最高的权限是“root”.漏洞能够帮助黑客利用代码拿到他们想得到的东西。黑客使用的漏洞代码是“exploit”.
2.黑客的发展
起初黑客攻击系统软件的居多,能够获取到“root”权限,(著名的黑客组织TESO)早期的互联网因为Web还没有发展起来,基于SMTP,POP3,FTP,IRC等协议,黑客主要攻击网络,操作系统等。现如今防火墙改变了互联网的格局。以华为,Cisco等一些网络产品中更加重视网络安全,出现了防火墙,ACL等技术。(例如一个数据库在没有防护的情况下,数据库服务端口是允许任何人访问的,但是有了防火墙之后,通过ACL技术可以控制只允许信任来源访问)
3.Web安全的兴起
2003年的冲击蠕虫事件针对Windows系统RPC服务,在很短的时间内全球数百万台电脑被感染。互联网运营商更加重视网络安全,运营商,防火墙对于网络的封锁,使得暴露在互联网上的非Web服务越来越少,也促使Web功能越来越强大。人们开始关注服务器端动态脚本安全问题(比如可执行脚本webshell)上传到服务器可以获得root权限。但还是有很多的问题(例如PHP语言至今仍然只能靠较好的代码来保证没有文件包含漏洞)
4.SQL的注入
SQL的出现对Web安全形成了巨大的冲击如同溢出区出现一样,程序员要不停的修改漏洞,黑客们发现通过SQL注入漏洞时,可以获得很多敏感性数据,通过数据库系统获得系统访问权。
而XSS,GSRF的出现变得让Web很强大,Web的攻击思路由服务器端转向了客户端,转向了浏览器和用户
5.白帽子和黑帽子
黑帽子:,黑帽子在SEO业界就是黑链的意思,而黑链就是指的不是正当的手法给你挂有的一个链接方式,黑帽子主要手段是通过垃圾技术欺骗搜索引擎。黑帽SEO以伪装、欺诈和窃取的方式骗取在SERP中的高排名。但有个通用点就是获得重要搜索引擎中重要关键词的高排名,为网站带来大量流量和收入,为网站经营者带来财富。只要能够找的系统的弱点,就可以达到系统的入侵,黑帽子需要利用不同的漏洞组合,找到对他们有价值的数据,以此渗透。
白帽子:,是指在网络安全技术的研究者,他们对电脑系统比如语言、TCP协议等有比较高的造诣,精通攻击和防御,同时头脑里具有信息安全体系的宏观意识。白帽子是相对比较正面的黑客,他们可以识别计算机系统或网络系统中的安全漏洞,但并不会恶意去利用,而是公布其漏洞。这样,系统管理员可以在系统被攻占、利用之前进行查漏补缺。找到系统所有弱点,不能有遗漏,才能保证不会出现安全问题,一般为公司或企业安全服务。
6.网络安全三要素
安全攻击威胁机密性的攻击
窃听(snooping):在未经授权的情况下访问或拦截信息。
流量分析(traffic analysis):虽然通过加密可使文件变成对拦截者不可解的信息,但还可以通过在线监测流量获得其他形式的信息。例如获得发送者或接收者的电子地址。威胁完整性的攻击
篡改(modification):拦截或访问信息后,攻击者可以修改信息使其对己有利。 伪装(masquerading):攻击者假扮成某人。例如,伪装为银行的客户,从而盗取银行客户的银行卡密码和个人身份号码。例如,当用户设法联系某银行的时候,伪装为银行,从用户那里得到某些相关的信息。
重放(replaying):即攻击者获得用户所发信息的拷贝后再重放这些信息。例如,某人向银行发送一项请求,要求向为他工作过的攻击者支付酬金。攻击者拦截这一信息后,重新发送该信息,就会从银行再得到一笔酬金。
否认(repudiation):发送者否认曾经发送过信息,或接收者否认曾经接收过信息。 例:客户要求银行向第三方支付一笔钱,但是后来又否认她曾经有过这种要求。 某人购买产品并进行了电子支付,制造商却否认曾经获得过支付并要求重新支付。威胁可用性的攻击 拒绝服务(denial of service):可能减缓或完全中断系统的服务。攻击者可以通过几种策略来实现其目的。发送大量虚假请求,以致服务器由于超负荷而崩溃;
拦截并删除服务器对客户的答复,使客户认为服务器没有做出反应;
从客户方拦截这种请求,造成客户反复多次地发送请求并使系统超负荷。
安全服务信息机密性:保护信息免于窃听和流量分析。信息完整性:保护信息免于被恶意方篡改,插入,删除和重放(通过幂等性解决重放问题)。身份认证(authentication):提供发送方或接收方的身份认证。对等实体身份认证:在有通信连接的时候在建立连接时认证发送方和接收方的身份;数据源身份认证:在没有通信连接的时候,认证信息的来源。不可否认性(nonrepudiation):保护信息免于被信息发送方或接收方否认。在带有源证据的不可否认性中,如果信息的发送方否认,信息的接收方过后可以检验其身份;在带有交接证据的不可否认性中,信息的发送者过后可以检验发送给预定接收方的信息。访问控制(access control):保护信息免于被未经授权的实体访问。在这里,访问的含义是非常宽泛的,包含对程序的读、写、修改和执行等。
欢迎使用Markdown编辑器
你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。
新的改变
我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:
- 全新的界面设计 ,将会带来全新的写作体验;
- 在创作中心设置你喜爱的代码高亮样式,Markdown 将代码片显示选择的高亮样式 进行展示;
- 增加了 图片拖拽 功能,你可以将本地的图片直接拖拽到编辑区域直接展示;
- 全新的 KaTeX数学公式 语法;
- 增加了支持甘特图的mermaid语法1 功能;
- 增加了 多屏幕编辑 Markdown文章功能;
- 增加了 焦点写作模式、预览模式、简洁写作模式、左右区域同步滚轮设置 等功能,功能按钮位于编辑区域与预览区域中间;
- 增加了 检查列表 功能。
功能快捷键
撤销:Ctrl/Command + Z
重做:Ctrl/Command + Y
加粗:Ctrl/Command + B
斜体:Ctrl/Command + I
标题:Ctrl/Command + Shift + H
无序列表:Ctrl/Command + Shift + U
有序列表:Ctrl/Command + Shift + O
检查列表:Ctrl/Command + Shift + C
插入代码:Ctrl/Command + Shift + K
插入链接:Ctrl/Command + Shift + L
插入图片:Ctrl/Command + Shift + G
合理的创建标题,有助于目录的生成
直接输入1次#,并按下space后,将生成1级标题。
输入2次#,并按下space后,将生成2级标题。
以此类推,我们支持6级标题。有助于使用TOC
语法后生成一个完美的目录。
如何改变文本的样式
强调文本 强调文本
加粗文本 加粗文本
标记文本
删除文本
引用文本
H2O is是液体。
210 运算结果是 1024.
插入链接与图片
链接: link.
图片:
带尺寸的图片:
居中的图片:
居中并且带尺寸的图片:
当然,我们为了让用户更加便捷,我们增加了图片拖拽功能。
如何插入一段漂亮的代码片
去博客设置页面,选择一款你喜欢的代码片高亮样式,下面展示同样高亮的 代码片
.
// An highlighted block
var foo = 'bar';
生成一个适合你的列表
- 项目
- 项目
- 项目
- 项目
- 项目1
- 项目2
- 项目3
- 计划任务
- 完成任务
创建一个表格
一个简单的表格是这么创建的:
项目 | Value |
---|---|
电脑 | $1600 |
手机 | $12 |
导管 | $1 |
设定内容居中、居左、居右
使用:---------:
居中
使用:----------
居左
使用----------:
居右
第一列 | 第二列 | 第三列 |
---|---|---|
第一列文本居中 | 第二列文本居右 | 第三列文本居左 |
SmartyPants
SmartyPants将ASCII标点字符转换为“智能”印刷标点HTML实体。例如:
TYPE | ASCII | HTML |
---|---|---|
Single backticks | 'Isn't this fun?' |
‘Isn’t this fun?’ |
Quotes | "Isn't this fun?" |
“Isn’t this fun?” |
Dashes | -- is en-dash, --- is em-dash |
– is en-dash, — is em-dash |
创建一个自定义列表
- Markdown
- Text-to-HTML conversion tool
- Authors
- John
- Luke
如何创建一个注脚
一个具有注脚的文本。2
注释也是必不可少的
Markdown将文本转换为 HTML。
KaTeX数学公式
您可以使用渲染LaTeX数学表达式 KaTeX:
Gamma公式展示 是通过欧拉积分
你可以找到更多关于的信息 LaTeX 数学表达式here.
新的甘特图功能,丰富你的文章
- 关于 甘特图 语法,参考 这儿,
UML 图表
可以使用UML图表进行渲染。 Mermaid. 例如下面产生的一个序列图::
这将产生一个流程图。:
- 关于 Mermaid 语法,参考 这儿,
FLowchart流程图
我们依旧会支持flowchart的流程图:
- 关于 Flowchart流程图 语法,参考 这儿.
导出与导入
导出
如果你想尝试使用此编辑器, 你可以在此篇文章任意编辑。当你完成了一篇文章的写作, 在上方工具栏找到 文章导出 ,生成一个.md文件或者.html文件进行本地保存。
导入
如果你想加载一篇你写过的.md文件或者.html文件,在上方工具栏可以选择导入功能进行对应扩展名的文件导入,
继续你的创作。
-
注脚的解释 ↩︎