什么是漏洞
要解释什么是漏洞,要从网站的基本构成下手。
组成一个网站有以下几个关键要素,攻击者会尝试从这些环节下手攻击:
前端:JavaScript等
后端:Go等 前后端交互:HTTP等
网关:nginx等
常见的安全事件
有由安全漏洞引发的攻击事件可能造成一系列恶劣影响,下面几个关键词大家一定不陌生:
1 数据泄露
2 服务瘫痪
3 成果失窃
4 系统劫持
网站攻击者的意图
1.政治目的
2.经济目的
3.竞争目的
4.炫技、泄愤
漏洞有以下几类
1 服务端漏洞
2 第三方组件漏洞
3 SQL注入漏洞
4 客户端漏洞
点击劫持
点击劫持(clickjacking)是一种在网页中将恶意代码等隐藏在看似无害或者存在诱导的内容 (如按钮)之下,并诱使用户点击的手段,用户点击后往往会执行一些非预期的操作。
WebSocket问题
本质上http服务端的漏洞,在WebSocket上也可能存在,因此在使用过程中同样有一些注意点: 使用WSS (WebSockets over SSL/TLS),提供加密信道。杜绝掉一些中间人攻击 SQL/XSS/RCE 等漏洞仍然可能存在,因此要注意数据校验 CSWSH(Cross-Site WebSocket Hijacking):即在使用cookie作为认证方式时候,如果WebSocket服务端没有校验好请求来源(Origin),将导致WebSocket会话劫持。黑产设置钓鱼页面,用户一旦访问后,用户 WebSocket会话就可能会被监听。
CORS跨域配置错误
CORS全称是“跨域资源共享”(Cross-originresource sharing),用以解决网页应用跨域访问的需求。CORS本身不存在漏洞,而是由于开发者在配置CORS过程中,错误配置跨域访问AIlow List, 导致非预期的站点可以进行跨域访问,最终可能导致信息泄漏。 常见几种错误配置有:(以需要跨域访问 example.com 所有子域名为例)