- 本笔记是基于第二篇学习笔记--网络安全漏洞之服务端漏洞,续篇。
网络安全漏洞--客户端漏洞
-
开放重定向: 需要重定向到其他站点的功能时,参数中携带需要重新定向的URL。但是URL如果没有限制,攻击者可能会构造恶意链接,将用户重定向到恶意站点。
解决方式:对重定向网址进行白名单控制,正确校验白名单。 -
XSS:
跨站脚本攻击,一种Script代码注入。攻击者在目标网站页面里插入恶意Script代码,在用户和网页交互时该代码被执行。
种类:反射型、储存型、Dom型
举例: 使用指令将用户输入的请求直接渲染进Dom(Document Object Model,接口作用,方便网页动态获取用户与其互动的内容。[1] )中。这时攻击者可以通过网站反馈入口向管理员发送恶意链接来获取Token和权限。
解决方式:输入过滤(与防SQL注入类似)、输出过滤(字符输出到Dom时,对危险字符进行加密、使用Vue和React等框架时使用安全的指令)、富文本场景(比如这篇线上笔记,要进行严格的tag和atttibute限制,设置黑白名单)、CSP(Content- Security- Policy, 对当前站点允许加载的资源的来源、能发出的请求进行限制) -
CSRF(跨站请求伪造):
允许攻击者诱导用户访问恶意链接、执行用户的非预期操作。比如更改用户敏感信息等。
解决方式:判断请求来源 使用CRSF token(和用户密码加密类似,客户端每次去访问都必须带上此token)、SameSite cookies: Strick-> Lax(Default)-> (禁止某些场景发送第三方cookie)、Referer-based validation(检验referer是否来自合法站点) -
点击劫持(clickjacking):
网页中,将恶意代码隐藏在一些按钮等看似无害的交互位置,用户点击后会带来非法操作
举例:将自制的含有恶意链接的网页调整透明度覆盖在原网站上。
解决方式:在页面代码上,禁止不让非预期网站iframe(比如内嵌页面)我的站点。
[1][blog.csdn.net/SKI_12/arti… XSS学习笔记)