Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >API 网关的安全

API 网关的安全

作者头像
itliusir
发布于 2018-06-07 06:10:08
发布于 2018-06-07 06:10:08
1.5K0
举报
文章被收录于专栏:刘君君刘君君

摘要: 本篇文章是总结工作中遇到的安全问题

正文:

API 网关的安全

XSRF/CSRF

跨站请求伪造(Cross-site request forgery)是一种挟制用户在当前已登录的web程序上执行非本意的操作的攻击方法,简单来说就是你在浏览器打开了两个页面,其中一个页面通过窃取另一个页面的cookie来发送伪造请求

Example

某一家银行转账操作的url地址为:http://www.examplebank.com/withdraw?account=AccoutName&amount=1000&for=PayeeName

藏身于恶意网站的某代码片段:<img src="http://www.examplebank.com/withdraw?account=Alice&amount=1000&for=Badman">

若账户人员为Alice的用户访问了恶意网站,其登录信息尚未过期,就会丢失1000资金

CSRF攻击并不是直接获取用户账户控制权,而是欺骗用户浏览器,让其已用户的名义执行操作

防御措施

  1. HTTPReferer字段,这个字段用以标明请求来源于哪个地址,看其url是否与要请求地址位于同一域名
  2. 添加校验Token,恶意网站的请求不带Token无法通过校验

XSS

跨站脚本(Cross-site scripting)是一种网站应用程序的安全漏洞攻击,是代码注入的一种。

防御措施

  1. 过滤特殊字符(转义)
  2. 使用浏览器自带的xss-filter
    • X-XSS-Protection
  3. CSP(Content Security Policy)
    • 如限制script src Content-Security-Policy: script-src ‘self’
    • frame-ancestors 限制了当前页面可以被哪些页面以iframe,frame,object等方式加载
    • Github的CSP参数 123456789101112Content-Security-Policy: default-src 'none'; base-uri 'self';block-all-mixed-content;connect-src 'self' uploads.github.com status.github.com collector.githubapp.com api.github.com www.google-analytics.com github-cloud.s3.amazonaws.com github-production-repository-file-5c1aeb.s3.amazonaws.com github-production-upload-manifest-file-7fdce7.s3.amazonaws.com github-production-user-asset-6210df.s3.amazonaws.com wss://live.github.com;font-src assets-cdn.github.com;form-action 'self' github.com gist.github.com;frame-ancestors 'none';frame-src render.githubusercontent.com;img-src 'self' data: assets-cdn.github.com identicons.github.com collector.githubapp.com github-cloud.s3.amazonaws.com *.githubusercontent.com; manifest-src 'self';media-src 'none';script-src assets-cdn.github.com;style-src 'unsafe-inline' assets-cdn.github.com
  4. X-Frame-Options:SAMEORIGIN 这个页面只允许同源页面加载
  5. Http-Only 保护cookie

JWT的安全

JWT一种基于JSON的、用于在网络上声明某种主张的令牌,由三部分组成,头部消息体签名

前端将JWT通过HTTP Header发送给服务端可以有效防护CSRF,但是服务端既然无状态,Token在客户端存储位置就是一个问题

存放位置

  • 存在Cookie,要使用Http-Only 保护cookie
  • 存在Local Storage 无法防止XSS LocalStorage 的API通过JavaScript提供的,攻击者可以通过XSS攻击窃取信息,如Token等

12345

if(localStorage.length){ for(i in localStorage) { console.log(localStorage.getItem(i)); }}

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018-05-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
详述前端安全问题及解决方案
CSRF攻击(cross site request forgery,跨站请求伪造)
双愚
2018/04/22
1.8K3
详述前端安全问题及解决方案
实战 | 从零学习CSRF漏洞并配合实战挖掘CSRF漏洞
跨站请求伪造(英语:Cross-siterequest forgery),也被称为one-clickattack或者session riding,通常缩写为CSRF或者XSRF,是一种挟制用户在当前已登录的Web应用程序上执行非本意的操作的攻击方法。跟跨网站脚本(XSS)相比,XSS 利用的是用户对指定网站的信任,CSRF 利用的是网站对用户网页浏览器的信任。
Power7089
2019/07/25
1.8K0
实战 | 从零学习CSRF漏洞并配合实战挖掘CSRF漏洞
web前端安全机制问题全解析
IMWeb前端团队
2017/12/28
1.8K0
web前端安全机制问题全解析
「面试常问」靠这几个浏览器安全知识顺利拿到了大厂offer(实践篇)
比如,这个 http://store.company.com/dir/page.html 和下面这些 URL 相比源的结果如下:
用户4456933
2021/06/01
9370
「面试常问」靠这几个浏览器安全知识顺利拿到了大厂offer(实践篇)
CSP
该评论被提交后,会存储在数据库中,当其他用户打开该页面时,该代码会被自动执行,用户就会被攻击到。
不作声
2020/10/15
2K0
CSP
常见的网站安全问题
经过一番 996,精心打造的网站眼看就要部属上线了,但在网站正式上线之前,你有没有想过自己的网站是否安全吗?尽管你的网站用了很多高大上的技术,但是如果网站的安全性不足,无法保护网站的数据,甚至成为恶意程序的寄生温床,那前面堆砌了再多的美好也都成了枉然。
疯狂的技术宅
2020/11/03
6780
常见的网站安全问题
Spring Boot 集成 Spring Security
Spring Security 是一个能够为基于 Spring 的企业应用系统提供声明式的安全访问控制解决方案的安全框架。它提供了一组可以在 Spring 应用上下文中配置的 Bean,充分利用了 Spring IoC(Inversion of Control 控制反转),DI(Dependency Injection 依赖注入)和 AOP(面向切面编程)功能,为应用系统提供声明式的安全访问控制功能,减少了为企业系统安全控制编写大量重复代码的工作。
阿宝哥
2019/11/07
3.2K0
Nginx专辑|05 -如何使用Nginx配置正向代理
在之前的编译nginx的基础上,我们对nginx二进制增加新的模块ngx_http_proxy_connect_module[1]
公众号: 云原生生态圈
2020/08/04
3.1K0
Nginx专辑|05 -如何使用Nginx配置正向代理
黑客通常在用这 4 种方式攻击你!(内附防御策略)
跨站脚本攻击(Cross-Site Scripting, XSS),可以将代码注入到用户浏览的网页上,这种代码包括 HTML 和 JavaScript。
程序员小富
2020/01/20
8690
黑客通常在用这 4 种方式攻击你!(内附防御策略)
【全栈修炼】CORS和CSRF修炼宝典
1. [《【全栈修炼】OAuth2修炼宝典》](https://juejin.im/post/5db90c0ae51d452a17370626)
pingan8787
2019/11/17
2K0
【全栈修炼】414- CORS和CSRF修炼宝典
核心知识: CORS是一个W3C标准,它允许浏览器向跨源服务器,发出XMLHttpRequest 请求,从而克服 AJAX 只能同源使用的限制。
pingan8787
2019/11/26
3.3K0
【全栈修炼】414- CORS和CSRF修炼宝典
[PiKaChu靶场通关]CSRF
跨站请求伪造(英语:Cross-site request forgery),也被称为 one-click attack 或者 session riding,通常缩写为 CSRF 或者 XSRF, 是一种挟制用户在当前已登录的Web应用程序上执行非本意的操作的攻击方法。跟跨网站脚本(XSS)相比,XSS 利用的是用户对指定网站的信任,CSRF 利用的是网站对用户网页浏览器的信任。
李鹏华
2024/03/12
5860
[PiKaChu靶场通关]CSRF
前端安全防护:XSS、CSRF攻防策略与实战
跨站脚本攻击(XSS)和跨站请求伪造(CSRF)是威胁用户数据安全和网站稳定性的两大主要风险。在本文中,我将深入剖析这两种攻击方式的特点与危害,介绍针对性的防御策略,并通过代码示例演示如何在实际开发中有效实施这些防护措施。
Jimaks
2024/04/16
8660
Content Security Policy 入门教程
跨域脚本攻击 XSS 是最常见、危害最大的网页安全漏洞。 为了防止它们,要采取很多编程措施,非常麻烦。很多人提出,能不能根本上解决问题,浏览器自动禁止外部注入恶意脚本? 这就是"网页安全政策"(Con
ruanyf
2018/04/13
2.1K1
Content Security Policy 入门教程
X-Frame-Options等头部信息未配置解决方案
Tomcat目录/conf/web.xml中的搜索httpHeaderSecurity配置(直接复制粘贴)
华创信息技术
2022/05/28
4.1K0
X-Frame-Options等头部信息未配置解决方案
CSP | Electron 安全
大家好,今天和大家讨论的是 CSP ,即内容安全策略。相信很多朋友在渗透测试的过程中已经了解过 CSP 了
意大利的猫
2024/04/28
8330
CSP | Electron 安全
Web 安全总结(面试必备良药)
利用漏洞提交恶意 JavaScript 代码,比如在input, textarea等所有可能输入文本信息的区域,输入<script src="http://恶意网站"></script>等,提交后信息会存在服务器中,当用户再次打开网站请求到相应的数据,打开页面,恶意脚本就会将用户的 Cookie 信息等数据上传到黑客服务器。
winty
2019/12/21
1K0
Nginx专题-静态资源
如上图所示,用户请求通过DNS解析技术,将用户请求定位到分发层 代理服务器nginx上。
用户1081422
2020/04/08
1.4K0
微服务设计原则——低风险
虽然很多时候感觉网络攻击和安全事故离我们很远,但一旦发生,后面不堪设想,所以服务接口的安全问题是设计实现过程中不得不考虑的一环。
恋喵大鲤鱼
2024/03/27
2880
如何进行渗透测试XSS跨站攻击检测
国庆假期结束,这一节准备XSS跨站攻击渗透测试中的利用点,上一节讲了SQL注入攻击的详细流程,很多朋友想要咨询具体在跨站攻击上是如何实现和利用的,那么我们Sinesafe渗透测试工程师为大家详细的讲讲这个XSS是如何实现以及原理。
技术分享达人
2019/10/08
2.8K0
如何进行渗透测试XSS跨站攻击检测
相关推荐
详述前端安全问题及解决方案
更多 >
交个朋友
加入HAI高性能应用服务器交流群
探索HAI应用新境界 共享实践心得
加入腾讯云技术交流站
洞悉AI新动向 Get大咖技术交流群
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档