241106:网站常见安全漏洞问题 观看学习时长3.5h(01:00——02:00、14:00——16:30)
-
学习目的:如何提前规避风险、反向验证内部安全
-
一个网站的构成:前端、网关、后端、前后端交互
- 安全事件:数据泄露(泄露个人隐私信息)、服务瘫痪(官网出现技术性故障)、成功失窃(窃取商业机密)、系统劫持
- 攻击意图:政治意图、经济意图、炫技泄愤、竞争目的
-
网站常见漏洞:
- 服务端漏洞
- 第三方组件漏洞
- SQL注入
- 命令执行
- 设置白名单
- 无法确定白名单时,需要对数据类型进行校验
- 没法白名单和类型判断时,考虑黑名单
- 越权漏洞
- 未授权:不需要任何认证就可以get
- 水平越权: 能去操作同等级别的他人信息
- 黑灰产场景:攻击者可以遍历订单id获取其他用户的信息。
- 防护方式:资源id尽量不要使用短id(遍历难度小),一定要做好资源属主校验
- 垂直越权:普通用户能够越权获得管理员权限去操作等
- 黑灰产场景:攻击者可以通过开通另外的测试管理员账户抓包获取接口,或者通过逆向前端代码方式获取实际接口,然后绕过前端直接尝试访问后端接口,获取数据详情。
- 防护方式:简单场景可以将接口在路由级别进行分组,对不同的API分组引入Middelware进行权限拦截,Middelware获取当前用户角色(判断)以确定是否可以访问此接口。
- SSRF漏洞:服务端请求伪造攻击:攻击者利用后端服务器作为跳板,让后端服务向非预期网络地址(一般指内网)发出恶意请求,获取敏感信息或执行恶意操作。 - 防护方式:对url的host进行白名单过滤,获取对host解析的ip进行判定,是否是内网地址。
- 文件上传漏洞:找到公开上传点(视频图文创作、客服反馈等),上传恶意文件(视频图文),获取图片url,然后直接分享url至外部恶意软件或群组。
-
防护方式:限制文件类型,比如只能传入特定的文件格式;站库分离:应用部署的位置和上传的文件分离,一般可以使用TOS、oss等文件存储;防止图床,对图片访问链接限制,包括时间限制、访问身份限制等。
-
- 客户端漏洞
- 开放重定向:某些需要重定向到其他站点的功能, 往往在参数中携带需要重定向的url,但实际逻辑程序没有控制好重定向的范围,导致攻击者可以构造恶意链接,诱导用户重定向到恶意站点。
- 它的危害:钓鱼攻击
- 修复方案:对重定向严格进行白名单控制,并正确校验匹配白名单
- XSS:本质是一种script代码注入(注入一段恶意代码)。攻击者往目标web页面里插入恶意script代码,当用户访问页面/有客户端时需要交互的时候,嵌入其中的恶意script代码会被执行,从而达到攻击用户的目的。
- 场景:反射型、存储型、Dom型
- 一般危害:窃取用户敏感信息、以用户身份执行敏感操作
- 防护方法:输入过滤(对特殊字符提前拦截)、输出过滤(对危险字符进行转义、避免使用危险指令)、富文本场景(文章发布需要富文本功能,可以在代码层面做白名单和黑名单)、CSP(用于缓解XSS,允许加载什么源的资源,发送什么请求能进行限制)
- 跨站请求伪造(CSRF):允许攻击者诱导用户访问恶意链接,执行非用户预期的操作。危害如让用户无意识执行敏感操作,关注其他用户或者更改账号的安全邮箱等对攻击者有利的行为。
- 防护方法:核心判断请求来源是否合法
- 点击劫持:将恶意代码隐藏到看似无害的内容里,诱导用户误点击后,用户往往会执行一些非预期操作。
- 防护方式:不让非预期网站iframe我的站点
- CORS跨域配置错误:配置错误时会出现漏洞,导致非预期的站点可以跨域访问,最终可能导致信息泄露。
- 防护核心:正确设置跨域白名单
- WEBSOCKET:
- 开放重定向:某些需要重定向到其他站点的功能, 往往在参数中携带需要重定向的url,但实际逻辑程序没有控制好重定向的范围,导致攻击者可以构造恶意链接,诱导用户重定向到恶意站点。
- 服务端漏洞
-
注意事项: - 网络运营者:确保收集其个人信息安全,禁止以非法方式窃取个人信息。《中华人民共和国网络安全法》。
-
深入简出零拷贝及应用:零拷贝是一门技术,偏技术理论,听了一遍留个浅浅印象吧。