1、分布式拒绝服务(DDoS)攻击
这是我参与「第四届青训营 」笔记创作活动的第3天
(1)什么是DDos
-
分布式拒绝服务(DDoS)攻击是通过大规模互联网流量淹没目标服务器或其周边基础设施,以破坏目标服务器、服务或网络正常流量的恶意行为。
-
利用的机器:
- 计算机
- 其他其他联网资源(如 IoT 设备)
- DDoS攻击就像高速公路发生交通堵塞,妨碍车辆抵达预定目的地。
(2)原理
- 攻击者通过感染恶意软件的计算机网络(由计算机和其他设备(例如 IoT 设备)组成)实现远程控制,通过僵尸网络对受害者的服务器或网络作为目的,让每个机器人发送请求导致服务器或网络不堪重负,从而造成对正常流量的拒绝服务。
- 机器人(僵尸):被攻击者远程控制的个体设备
- 僵尸网络:一组机器人
- 每个机器人都是合法的互联网设备,因而可能很难区分攻击流量与正常流量。
(3)常见的DDoS攻击
-
应用程序层攻击
- 攻击目标:生成网页并传输网页响应 HTTP 请求的服务器层
- HTTP洪水
-
协议攻击
- 攻击目标:利用协议堆栈第 3 层和第 4 层的弱点致使目标无法访问。
- SYN 洪水
-
容量耗尽攻击
- 攻击目标:通过消耗目标与较大的互联网之间的所有可用带宽来造成拥塞
- DNS放大
(4)防护DDoS攻击
- 黑洞路由
- 速率限制
- Web应用程序防火墙
- Anycast网络扩散
2、XSS攻击与防护
2.1 XSS攻击
-
XSS 跨站脚本攻击
-
原理:用户浏览被攻击者插入恶意Script代码的Web页面时,嵌入Web里面的Script代码会被执行,从而受到恶意攻击。
-
分类:存储型、反射型、DOM型
-
反射型XSS攻击流程:
- 黑客发送带有XSS恶意脚本链接给用户
- 用户点击了恶意链接,访问了目标服务器
- 网络将XSS同正常页面返回到用户浏览器
- 用户浏览器解析了网页中的XSS恶意代码,向恶意服务器发起请求
- 黑客从自己搭建的恶意服务器中获取用户提交的信息
-
非持久化,需要欺骗用户自己去点击链接才能触发XSS代码(服务器中没有这样的页面和内容),一般容易出现在搜索页面。
-
反射型XSS大多数是用来盗取用户的Cookie信息。
-
存储型XSS攻击:持久化,代码是存储在服务器中的,如在个人信息或发表文章等地方,插入代码,如果没有过滤或过滤不严,那么这些代码将储存到服务器中,用户访问该页面的时候触发代码执行。
-
这种XSS比较危险,容易造成蠕虫,盗窃cookie
-
DOM型XSS:不经过后端,DOM-XSS漏洞是基于文档对象模型(Document Objeet Model,DOM)的一种漏洞,DOM-XSS是通过url传入参数去控制触发的,其实也属于反射型XSS。
2.2 防御
- 总体思路:对用户的输入(和URL参数)进行过滤,对输出进行html编码。
- 即对用户提交的所有内容进行过滤,对url中的参数进行过滤,过滤掉会导致脚本执行的相关内容;然后对动态输出到页面的内容进行html编码,使脚本无法在浏览器中执行。
3、CSRF(跨站请求伪造)
-
CSRT通过伪装来自受信任用户的请求来利用受信任的网站。
-
XSS利用站点内的信任用户,而CSRF则通过伪装来自受信任用户的请求来利用受信任的网站。
-
相比XSS,不大流行,但更具危害性
-
CSRT原理:
- 登录受信任网站A,并在本地生成Cookie。
- 在不登出A的情况下,访问危险网站B。
- CSRT的危害:攻击者盗用了受害者的身份,以他的名义发送恶意请求。以其名义发送邮件,发消息,盗取其的账号,甚至于购买商品,虚拟货币转账......
- 常见的攻击类型:
-
GET类型的CSRF:
<img src=http://xxxxx?xx=11 />
一般需要一个HTTP请求就可以实现。像这里将该网址替换为存在GET型CSRF的地址,就能完成攻击了。
- POST类型的CSRF:
这种类型的CSRF危害没有GET型的大,利用起来通常使用的是一个自动提交的表单
<form action=http://xxx method=POST>
<input type="text" name="xx" value="xx" />
</form>
<script> document.forms[0].submit(); </script>
总结
通过本次课程学习,我在课堂上学习Web的相关安全知识后,又通过查阅相关资料,深入了解相关安全知识后方才写下笔记,时间仓促,若有不对的地方,欢迎大家批评指正。