首页
学习
活动
专区
圈层
工具
发布

挖洞经验 | 利用开放重定向漏洞劫持GitHub Gist账户

由于此前我在其它一些应用中见过:protocol、:host选项,以及blacklisted/removed和 :only_path设置为true的实例,但从没见过:script_name选项的使用。...该处在应用程序控制器中的源码如下: before_action :check_source def check_source source = params["source"] return...only_path: true,它通常只允许现有主机相关的URL,并且只保留查询参数,但使用script_name的技巧却会引发一些有意思结果。...GitHub内置了一些集成的OAuth应用服务,其中就包含了Gist,GitHub Gist和GitHub共享同一个rails应用服务,只是暴露的主机名和路径不同而已。...由于GitHub 和 Gist使用的会话token不同,因此利用该漏洞不能对受害者的github.com服务造成影响,仅会对Gist服务形成访问控制威胁。

1.1K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    不要学习“网红”编程语言

    Ruby on Rails (也简称为 Rails)是一个使用 Ruby 编程语言的开源 Web 应用程序框架,曾一度大受欢迎,Rails 的出现极大的推动了 Ruby 语言的发展。...2010 年时 Ruby 的 SDK 和 API 客户端都是最亮眼的,之所以出色,是因为当时的 API 与 SaaS 开发团队往往会自己动手编写 Ruby 版本,所以客户端质量自然不在一个层面上。...2010 年那会 Rails 的成功催生出使用模型视图控制器(MVC)架构建立快速应用开发(RAD)框架的市场需求。...这些架构的解决能力和适用范围都比较差,所以无论使用哪种语言,Rails 本身的流行度下降甚至在根源上来自 MVC 和 RAD 方法的逐渐衰落。...Rails 也仍是实现原型设计演示的好方法,能帮助大家在几天之内更稳妥地构建起最小可行性产品。 那我们是不是不该在职业规划中学习 Ruby 或者 Rails?话可不能这么说。

    3.3K30

    架构之美:教你如何分析一个接口?

    Rails给我们提供的三种接口,分别是: Web应用对外暴露的接口:REST API; 程序员写程序时用到的接口:API; 程序员在开发过程中用到的接口:命令行。...Rails对REST的使用方式做了一个约定。只要你遵循Rails的惯用写法,写出来的结果基本上就是符合REST结构的,也就是说,Rails把REST这个模型用一种更实用的方式落地了。...只要按照这个规范写,你写的就是一个符合REST规范的代码,这就是Rails引导的外部接口风格。 API 接口 我们再来看API接口。...Rails的API接口让人们开始关注API的表达性。...Java后期的一些开源项目也开始向Rails学习。比如,使用Spring Data JPA的项目后,我们也可以写出类似Rails的代码。

    3.3K20

    GitLab → 搭建中常遇的问题与日常维护

    这基本是内存不足导致     楼主一开始比较任性,没按官方的推荐(内存最少 4G)来,弄了个 2G 内存,一顿操作猛如虎,定睛一看原地杵,特么的竟然像泰山一样稳,进度在那一动不动     直接卡住是比较烦的,因为不能直观地看出是否真的是卡住了...GitLab 所需内存最低为 4G,若服务器配置太低会出现 502 错误   GitLab 新装或重启后,需要等待 1 分钟才能使用     对于单核 CPU 的服务器,Unicorn and Sidekiq...取消 Sign-up enabled 前的复选框勾选,保存就好了   退出登录后可以发现,登录页的注册功能没了,既然不能注册了,那么就需要通过 root 用户来添加账号了   添加单个账号的话,可以直接通过管理中心来添加...单个账号的添加还可以通过 api 来实现,具体可查看:Users API   如果账号少的话,通过单个添加的方式来添加是可以的,如果账号特别多的话,那就有点费时了,所以需要通过脚本的方式来批量添加账号了...email=$mail&username=$username&name=$name&private_token=cwUxu3-2kiamVyKJQpW5" "http://192.168.0.115/api

    3.5K20

    Shopify 用 20 年证明:好的框架,够用一辈子!

    前几天看到 DHH 分享的一篇文章,关于 Shopify 2025 年黑五的数据: ❝商品交易总额(GMV):62 亿美元 API 请求峰值:每分钟 3100 万次 数据库读取:每秒 5300 万次 数据库写入...Rails 不能规模化? “Rails 不适合大规模应用”——这句话我可是经常听。 但看看 Shopify 2025 年黑五的数据,着实让人眼前一亮,全球大部分公司的系统,一辈子都不会遇到这种流量。...Rails 只是基础,但基础打得稳,上面就能盖摩天大楼。 4. 不光“用 Rails”,还“改造 Rails” Shopify 没有只当 Rails 的用户,而是直接成了“金主”。...选技术栈,要看它能不能帮你快速验证想法,而不是看它在社区有多火。 用开源,就回馈开源 这不是道德绑架,而是长期主义。你今天回馈的代码,明天可能就帮到了另一个开发者,后天可能又回馈到你的项目里。...Active Record 模式让数据库操作变得优雅,RESTful 路由设计让 API 端点清晰明了。 Rails 是经典的 MVC 架构鼻祖,这种架构让 Rails 成为快速原型开发的首选工具。

    10010

    PHP将死。何以为继?

    PHP解释器可以变得更快,程序库可以被开发出来,PERA和PECL目前已经变得相当庞大,这还不包括各种厂商希望人们去使用他 们的API而提供的非正式的程序库。...我每天使用Rails,修改一个喜爱这种框架和语言的有经验的Rails专家所写的Rails应用,七个月后,我却不能断言Rails是一个正确的选择了,原因很难表达。...所以我不能把这当作 一个真正的问题,尽管它是我把现在的应用移植到PHP的最主要的一个原因。我可以让Rails跑的跟PHP一样快,但那需要提供2到4倍高的硬件条件。...但现在,它不能满足我的要求。 第二,我讨厌Active Record。...Active Record是一种模式,并不是Ruby固有的,在Rails的最新版本里是可选择的,但是对它的使用和这种模式已经深入到了Rails的DNA里了。

    2.1K60

    《Prometheus监控实战》第8章 监控应用程序

    例如 测量请求和响应的数量和时间,例如特定网页或API端点。...如果你正在监控现有应用程序,那么可以创建一个特定网页或端点的优先级列表,并按重要性顺序对其进行监控 测量对外部服务和API的调用次数和时间,例如,如果你的应用程序使用数据库、缓存或搜索服务,或者使用第三方服务...email-payment指标用于计算发送的付款电子邮件的数量 8.2.5 外部模式 如果你不能控制代码库,无法在代码中插入监控或测量内容,或者可能无法更改或更新旧应用程序,那么该怎么办?...然后可以使用Rails控制台来测试客户端,现在通过rails c命令启动一个客户端 代码清单:使用Rails控制台测试Prometheus客户端 ?...惧器将一些HTTP服务器指标添加到通过Rack中间件收集的端点 代码清单:Rails的/metrics端点 ? 使用指标 现在应用程序已生成指标,我们可以在Prometheus中使用它们。

    6.5K11

    GitLab企业级私有代码仓库安装与基础使用

    Guest、Reporter、Developer、Master (在 11.0 版本中已重命名为 Maintainer) - 维护者、Owner 成员权限说明: Guest:可以创建issue、发表评论,不能读写版本库...Reporter:可以克隆代码,不能提交,QA、PM可以赋予这个权限 Developer:可以克隆代码、开发、提交、push,RD可以赋予这个权限 Maintainer:可以创建项目、添加tag、保护分支...使用Gitlab 备份恢复与迁移也非常简单....使用一条命令即可创建完整的Gitlab备份:gitlab-rake gitlab:backup:create 使用以上命令默认会在/var/opt/gitlab/backups目录下创建一个名称类似为1481598919...:create #重启服务 systemctl restart crond (2) 值得注意的是由于gitlab.rb and gitlab-secrets.json包含敏感数据,采用上面备份的形式不能将它们进行备份

    7.8K10

    rails, django, phoenix,你们错了

    典型的就是曾经大红大紫(现在也算是一线明星)的 rails:很多 rails 工程师最初只知 rails,写了 rails 后发现语言的短板才反过来学的 Ruby。...framework 的思路,我们不知不觉地做了一些假设: 所有的状态都是存储在一个或者若干个 database 中的 如果某个 database 没有 framework 的 adapter,那么我们就无法使用...然而它并不能避免横向的耦合,比如 model 和 model 的耦合,controller 和多个 model 的耦合。而 web framework 却有意无意地在倡导这种耦合。...rails 们代表的 web 层并不是业务的全部。如果哪天我们要向第三方提供 API 呢?如果 web 的逻辑被大刀阔斧地改变怎么办?...我们应该根据需求,先把业务模型构建出来,各个服务构建妥当后,再使用 rails 等打造前端。

    2.4K70

    选择一个异步应用程序服务器还是多阻塞服务器?

    应用的性能(或者即使我们使用多个Play!应用程序),当一个Rails应用程序阻塞了,操作系统将把流程转换至一个不同的Rails应用程序。...或者你从来不需要转换,Rails将为你使用用例工作,它极具魅力。并且你一直如此成功地让你的客户高兴那么现金就会滚滚而来。 一个单机阻塞服务器方式的缺点: 增加了内存的使用。...在服务器中这意味着增加了延迟,延迟排序将不能通过乘法提高,这可能取决于你的应用程序会使参数作废。...以下是一些使用了这些从Rails到Node.js和Golang的转换的例子: LinkedIn Moved From Rails To Node: 27 Servers Cut And Up To...20x Faster Why Timehop Chose Go to Replace Our Rails App How We Moved Our API From Ruby to Go and Saved

    2.1K80

    像一名教育者一样思考代码质量

    1 了解你的受众 Rails 在工作中,我们使用 Rails、Node 和 Vue。...例如,如果你看到如下代码: # app/controllers/api/foo/bar/baz_controller.rb def show end Rails 会自动在app/views/api/foo...fileGuid=rU8e3yc0h4Mztn6T 在以前的一家公司,我们使用 Rails、Angular 和 Python。我是那个“使用 Angular 的家伙”。...团队的其他人大部分都是 Rails 人员。 我对于自己对 directives 的使用感到少许得意。但我的上司叫我停止使用这些东西,坚持使用正常的 controllers。...他们不会凭空猜想人们会理解如何使用他们的产品。他们会进行测试。把它放到真正的用户面前,看看有哪些别扭的点。为什么我们不能对代码也这样做呢?

    1.2K30
    领券