Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

安全常见面试题 #25

Open
george-wq opened this issue Oct 8, 2020 · 0 comments
Open

安全常见面试题 #25

george-wq opened this issue Oct 8, 2020 · 0 comments

Comments

@george-wq
Copy link
Owner

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

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加密,这使得运营商无法获取明文,就无法劫持你的响应内容.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant