Skip to content

安全常见面试题 #25

Open
Open
@george-wq

Description

@george-wq

有哪些可能引起前端安全的的问题?

XSS: 跨网站指令码是一种网站应用程式的安全漏洞攻击,是代码注入的一种。
XSS 分为三种:反射型,存储型和 DOM-based

CSRF: 是一种挟制用户在当前已登录的Web应用程序上执行非本意的操作的攻击方法,简单点说,CSRF 就是利用用户的登录态发起恶意请求。

XSS分为哪几类?

存储型 XSS
反射型 XSS
DOM型 XSS

参考: https://www.cxymsg.com/guide/security.html#xss%E5%88%86%E4%B8%BA%E5%93%AA%E5%87%A0%E7%B1%BB

如何预防XSS?

XSS 攻击有两大要素:

  1. 攻击者提交恶意代码。
  2. 浏览器执行恶意代码。

预防存储型和反射型 XSS 攻击

存储型和反射型 XSS 都是在服务端取出恶意代码后,插入到响应 HTML 里的,攻击者刻意编写的“数据”被内嵌到“代码”中,被浏览器所执行。

  • 改成纯前端渲染,把代码和数据分隔开。
  • 对 HTML 做充分转义。

预防 DOM 型 XSS 攻击

  • 输入内容长度控制

CSRF是什么?

CSRF的攻击类型?

如何预防CSRF?

参考: https://www.cxymsg.com/guide/security.html#csrf%E7%9A%84%E6%94%BB%E5%87%BB%E7%B1%BB%E5%9E%8B

网络劫持有哪几种?

网络劫持一般分为两种:

DNS劫持: (输入京东被强制跳转到淘宝这就属于dns劫持)

DNS强制解析: 通过修改运营商的本地DNS记录,来引导用户流量到缓存服务器
302跳转的方式: 通过监控网络出口的流量,分析判断哪些内容是可以进行劫持处理的,再对劫持的内存发起302跳转的回复,引导用户获取内容
HTTP劫持: (访问谷歌但是一直有贪玩蓝月的广告),由于http明文传输,运营商会修改你的http响应内容(即加广告)

如何应对网络劫持?

DNS劫持由于涉嫌违法,已经被监管起来,现在很少会有DNS劫持,而http劫持依然非常盛行.

最有效的办法就是全站HTTPS,将HTTP加密,这使得运营商无法获取明文,就无法劫持你的响应内容.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions