网络协议-Web安全漏洞

1. XSS跨站脚本攻击

答:XSS(Cross-Site Scripting)跨站脚本攻击,通过在用户提交数据中加入恶意代码,从而破坏页面结构,盗取用户资料等。XSS利用用户对网站的信任。

1.1 产生原因

答:过分信任客户端数据,没有对数据进行过滤和转移。

1.2 分类

答:分为:

  • 存储型:恶意代码放在数据库中,每次Server响应Client请求时返回并执行;
  • 反射型:恶意代码加在URL中作为参数提交,Server解析响应,恶意代码存在结果中;
  • DOM型:前端JS的漏洞,恶意代码在Client执行。

1.3 防御

答:简单方法:

  • 过滤特殊字符,比如将<转义为&lt。
  • 对重要cookie设置httpOnly,防止前端通过document获得。

2. CSRF跨站请求伪造

答:CSRF(Cross-site request forgery)跨站请求伪造,通过恶意网站伪装成受信任用户进行请求访问获取数据。恶意网站只能冒用cookie,不能获得cookie。CSRF利用网站对Client的信任。

2.1 过程

在这里插入图片描述

2.2 防御

答:常用方法:

  • Referer字段验证不适用,Referer能被篡改。HTTP头中用Referer字段记录请求的源地址。
  • Token验证Server发给Client一个Token,Client发出带Token的请求,若Token不合法,则Server拒绝请求。
  • 双重Cookie验证:Client将Cookie参数加入请求参数中,Server校验,若无附加的cookie参数则拒绝请求。
  • 验证码:在用户进行敏感操作时,要求用户输入验证码。

2.3 XSS和CSRF区别

答:总结为:

  • CSRF需要用户先登录网站A,恶意网站B再冒用用户在A的cookie。XSS不需要登录。
  • CSRF本质是利用网站漏洞请求接口,XSS本质是注入恶意代码篡改内容。

3. SSRF服务端请求伪造

答:SSRF(Server-site request forgery)服务端请求伪造,通过Server使得外网能访问内网系统

3.1 过程

在这里插入图片描述

3.2 原因

答:Server提供从其他服务器获取数据,但没有对地址做过滤限制。

3.3 防御

答:常用方法:

  • 限制请求端口。保留常用HTTP端口。
  • 设置IP黑名单。一经发现直接拉黑。
  • 禁用不必要的协议。只保留HTTP和HTTPS。
  • 过滤返回信息

4. SQL注入

答:SQL注入指把SQL命令插入请求字符串或者页面提交中,欺骗Server执行。比如:

strSQL = “SELECT * FROM users WHERE (name = ‘1’ OR ‘1’=‘1’) and (pw = ‘1’ OR ‘1’=‘1’);” 获得用户信息。

4.1 防御

答:常用方法:

  • 预编译语句。直接传入数据执行,避免进行SQL语句拼接
  • 对Client的输入进行类型检查。

5. DoS拒绝服务攻击

答:DoS(denial-of-service attack)拒绝服务攻击,亦称洪水攻击。目的是使目标电脑的网络或系统资源耗尽,迫使服务中断停止,导致用户无法访问
DDos(distributed denial-of-service attack)分布式拒绝服务攻击,指攻击者使用两个或以上被攻陷的电脑作为“僵尸”向特定的目标发动Dos

5.1 分类

答:常见的有SYN Flood,Ping Flood,缓冲区溢出等。

5.2 防御

答:DoS攻击的防御方式因攻击方式而变化。

  • SYN洪水攻击:通过发送大量半连接的请求耗尽资源。可以缩短SYN Timeout时间或者设置SYN cookie标识IP地址,短时间连续收到某个IP的重复SYN就认定受到攻击,将此IP地址拉黑。
  • Ping Flood:原理差不多。只要Server禁止ping访问就可以防御。

图片来源:https://blog.nowcoder.net/n/a3776d83a8014f618dc50e78bcc95b53

发布了71 篇原创文章 · 获赞 3 · 访问量 2416

猜你喜欢

转载自blog.csdn.net/qq_34761012/article/details/104343303