首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

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

漏洞发现 在我测试的urls生成方法中,有一个名为url_for的方法,它通常被用来生成一些与控制器(controller)相关的链接。...指定连接的特定域名,使用tld_length从host主机信息中分离域名信息; :tld_length - 组成顶级域名TLD id的标签数量,当:subdomain 或 :domain提供时有用,默认为ActionDispatch...漏洞利用 第二天,我和朋友讨论过后,他建议我可以把开放重定向用到OAuth tokens上试试,看看会否产生影响。...GitHub内置了一些集成的OAuth应用服务,其中就包含了Gist,GitHub Gist和GitHub共享同一个rails应用服务,只是暴露的主机名和路径不同而已。...browser_session_id=XXX&code=YYY&state=ZZZ 6、https://gist.github.com/ 攻击者要成功登录Gist服务,只需要上述过程中的browser_session_id

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

    如何在CentOS 6.5上使用Unicorn和Nginx部署Rails应用程序

    介绍 在部署基于Rails的Web应用程序时,简单设计的应用程序服务器可以在几分钟内启动并运行。...这种真实的部署设置与使用单一开发服务器有很大不同,后者设计用于测试目的,因为由于缺乏功能和特性,它们无法在实际网站流量的负载下工作。...在本文中,我们选择的应用服务器是Unicorn。Unicorn是一个卓越的应用服务器,它包含你的Rails应用程序来处理传入的请求,最好是在它们被前端HTTP服务器(如Nginx)过滤和发送之后。...一些我们需要在本教程(如libyaml-devel的响应,Nginx等)的软件包都无法在官方的CentOS存储库中找到。...# Enable EPEL Repository sudo su -c 'rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release

    4.1K20

    ruby on rails + mysql 开发环境搭建

    (代码写完了并保存为.rb文件以后,直接F5就可以运行) 2.安装rails,命令行键入: gem install rails 不知道什么原因,我的机器(windows 2008 sp2)上一直提示如下错误...成功后,mongrel服务器将在本机3000端口监听http请求,访问http://localhost:3000/ 试下,如果出现以下画面,则rails环境基本ok了 ?...如果您的机器上无法显示该信息,多半是c:\ruby\bin目录中没有sqlite3.dll文件(可在http://rubyforge.org/frs/?...6.配置ruby下的mysql连接 6.1 把Mysql安装目录中bin目录下的libmysql.dll 复制到ruby安装目录的bin目录下(一般是c:\ruby\bin下) 6.2 到http://...group_id=904 下载InstantRails-2.0-win.zip解压后得到) 然后就可以在代码中连接了: ? ok,基本上搞定了,好好享受ROR的乐趣吧。

    3.8K50

    Rails 部署总结

    所以第一步就是配置好服务器 SSH 证书并下载私钥并将其发到 .ssh 文件夹下,并修改私钥权限以防权限太大而无法登录。...因为不同系统和数据库配置存在差异,所以第一次配置的时候你可以通过在服务器上新建测试工程来拷贝其中的配置。...$ rails s 在 Rails 5 中第一条拉起命令会出错,错误提示如: initialize': Cannot assign requested address - bind(2) for "IP..." 这是因为 Rails 5 已经是 IP V6 Only,而腾讯云默认是不开启的,所有需要我们手动修改设置。...要访问我们之前创建的Tasks controller,在web浏览器里面访问: http://server_public_IP 你会看到和第一次测试时同样的页面,不过现在被架设在了nginx和Puma上

    7K50

    JRuby——Java和Ruby的强强联合

    通过JRuby,你可以在JVM上直接运行Ruby程序,调用Java的类库。很多Java编写的Ruby IDE都是使用JRuby来解释语法的。...JRuby 允许Rails 应用部署在流行的Java 应用服务器中,很多企业早已建立了这样的运行环境,但因为某些原因无法为运行Rails 应用建立一个全新的运行环境。...任何技术的流行,深究起来,其背后都有经济上的原因。Rails 能够达到5 倍于SSH 的开发效率,使它成为了一个几乎无法被抗拒的选择。Rails 进入企业应用,只是一个时间问题,它的前景十分光明。...下载和安装JRuby 到JRuby的官方网站: http://jruby.org/ ?                        图:JRuby官方网站截图 下载最新版本的JRuby。...图:JRuby调用Swing程序 使用netbeans开发JRuby 到netbeans官方网站上下载 http://netbeans.org/ netbeans,因为最新版本安装这个插件有问题,所以这里下载的是

    3.2K40

    GitLab安装与基础使用

    [TOC] 0x00 前言 在开源世界中,是没有终结的尽头! 描述:GitLab 是一个非常优秀的项目。这是一个开源项目,允许用户在自己的服务器上运行类似于 GitHub 的项目管理系统。...组件参考:https://docs.gitlab.com/ce/development/architecture.html GitLab 采用传统的开源商业模式,他们有两种产品: 免费的开源软件,用户可以在自己的服务器上安装...Gitlab优点: 有开源免费的版本,可以进行私有开发上传与拉取; 社区版具有高度可扩展性,可以在单个服务器或群集上支持 25000 个用户 GitLab 的一些功能包括:Git 仓库管理,代码评论,问题跟踪...在同一台Centos7机器上卸载了旧版本的gitlab后,接着又重新安装新版本的gitlab-ce 在安装完后修改配置,初始化配置时出现以下错误: Running handlers: There was...Jenkins和Gitlab平台做集中认证了,导致在Gitlab上的帐号无法登陆到平台上,也就无法提交拉取代码了。

    8.5K20

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

    它允许用户在自己的服务器上运行类似于 GitHub 的项目管理系统,实现一个自托管私有的Git项目仓库,可通过Web界面进行访问公开的或者私人的项目Gitlab能够浏览源代码,管理缺陷和注释。...组件参考:https://docs.gitlab.com/ce/development/architecture.html GitLab 采用传统的开源商业模式,他们有两种产品: 免费的开源软件,用户可以在自己的服务器上安装...远程备份 描述:实际上就是在gitlab服务器上添加备份服务器的pub公钥,然后备份服务器访问Gitlab服务器进行拉取,当然您也可以采用rsync进行备份; #假设环境如下: #备份服务器: 192.168.1.2...在同一台Centos7机器上卸载了旧版本的gitlab后,接着又重新安装新版本的gitlab-ce 在安装完后修改配置,初始化配置时出现以下错误: Running handlers: There was...Jenkins和Gitlab平台做集中认证了,导致在Gitlab上的帐号无法登陆到平台上,也就无法提交拉取代码了。

    6.3K10

    企业自建GitLab代码仓库安装与基础配置使用

    0x00 前言 在开源世界中,是没有终结的尽头! 描述:GitLab 是一个非常优秀的项目。这是一个开源项目,允许用户在自己的服务器上运行类似于 GitHub 的项目管理系统。...组件参考:https://docs.gitlab.com/ce/development/architecture.html GitLab 采用传统的开源商业模式,他们有两种产品: 免费的开源软件,用户可以在自己的服务器上安装...Gitlab优点: 有开源免费的版本,可以进行私有开发上传与拉取; 社区版具有高度可扩展性,可以在单个服务器或群集上支持 25000 个用户 GitLab 的一些功能包括:Git 仓库管理,代码评论,问题跟踪...Centos7机器上卸载了旧版本的gitlab后,接着又重新安装新版本的gitlab-ce 在安装完后修改配置,初始化配置时出现以下错误: Running handlers: There was an...Jenkins和Gitlab平台做集中认证了,导致在Gitlab上的帐号无法登陆到平台上,也就无法提交拉取代码了。

    9.8K55

    GoLang异常

    panic and recover 是用来处理真正的异常(无法预测的错误)而不是普通的错误。 库函数通常必须返回某种错误提示给主调(calling)函数。...fmt.Printf("Test completed\r\n") } 输出: Calling test Panicing bad end Test completed defer-panic-recover 在某种意义上也是一种像...Go 库的原则是即使在包的内部使用了 panic,在它的对外接口(API)中也必须用 recover 处理成返回显式的错误。...我们有一个简单的 parse 包用来把输入的字符串解析为整数切片;这个包有自己特殊的 ParseError。...一个很好的使用它的例子是 web 应用,所有的处理函数都是下面这样: func handler1(w http.ResponseWriter, r *http.Request) { ... } 假设所有的函数都有这样的签名

    52550

    web框架在什么程度上受限 ?

    框架不是限制因素,它基本上是一种工具,可以简化应用程序某些部分的开发。例如,Django 和 rails 抽象了一些数据库功能,因此只需要担心模型对象。但这并不意味着自己也无法做任何事情。...答案6:如果不在 Rails 中使用表示层,就会错过很大一部分。...Rails 3 使一切都可配置… 事实上,Rails 现在将只是一组特定的插件和扩展,位于无限灵活的核心之上。...不确定此语句是什么意思…在某些时候必须将一些东西放入数据库,对吧?在大多数非平凡的应用程序中,很少有一个模型绑定到请求的末尾… 实际上可能有一个非常复杂的模型网络返回或更新。...例如,如果查看 Django 的功能集:除了使用像 Werkzeug 或 CherryPy 这样的更简单的东西无法从 Django 中获得什么部分来实现基于 HTTP 的 web 服务?

    5110
    领券