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

挖洞经验 | 看我如何综合利用4个漏洞实现GitHub Enterprise 远程代码执行

大家好,距离上次漏洞披露已有半年之余,在这篇文章中,我将向大家展示如何通过4个漏洞完美实现GitHub Enterprise的RCE执行,该RCE实现方法与服务器端请求伪造技术(SSRF)相关,技术稍显过时但综合利用威力强大...下面我们言归正传,一起来说说这个GitHub Enterprise企业版RCE漏洞的实现方法: 说明 在我上一次对GitHub Enterprise SQL注入漏洞的发现中,曾提及利用Ruby代码破解GitHub...挖洞开始 第1个漏洞 - 表面无用的SSRF漏洞 在研究GitHub Enterprise程序时,我发现了一个名为WebHook的有趣功能,它能在某些特定GIT命令执行时自定义HTTP回调。...在对Graphite源码的分析后,我又快速发现了另外一个SSRF漏洞,它存在于以下文件 webapps/graphite/composer/views.py def send_email(request...功能 采用了自定义Django中间件来防止攻击者从外部访问http://127.0.0.1:8000/render/ 加强iptables规则,限制User-Agent: GitHub-Hookshot

1.9K60

Cursor 2.0 太离谱了!8 个 AI 同时写代码,还能自己测!

其中最重磅的,就是他们推出了 Composer 模型——基本上能在 30 秒内完成大多数编程任务。但速度并不是全部。...多步骤任务可靠:可以放心交给它完成复杂的实现,而不是传统那种「AI 生成一半、我改半天」。...团队功能增强可分享自定义命令与规则管理员可通过云端 Dashboard 分发 Hooks、管理成员、查看操作日志总结Cursor 2.0 是一次彻底的重构。...更快:30 秒内完成复杂任务,保持思维连贯更强:最多 8 个智能体并行工作更智能:AI 能自己测试、自己修复更高层次:你只需要定义目标,AI 完成实现更专业:完善的企业管理与团队协作功能我们还在深入体验...你体验过 Cursor 2.0 吗?欢迎在评论区聊聊你的感受!

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

    PHP 离线 IP 定位库 IP2region

    引言 今天,我们来聊聊一个专为PHP设计的强大工具——ip2region库。它基于开源ip2region项目优化而来,提供企业级性能和灵活性,让开发者轻松实现本地IP查询。...如果您仅需 IPv4 查询功能,建议使用 V2 版本以获得更小的体积和更快的加载速度。 为什么选择离线IP定位? 想象一下,你的网站需要实时显示访客所在城市,但又不想每次都调用外部服务。...通过智能分片和压缩技术,实现了大数据库文件的高效管理,为企业和开发者提供准确、快速的 IP 地理位置查询服务。...# 详细查询 composer test:memory # 内存查询 # 查询指定 IP composer query 61.142.118.231 composer query:search...61.142.118.231 composer query:memory 61.142.118.231 # 运行演示程序 composer demo 在项目中快速调用 函数式调用 <?

    43410

    看吧,这就是现代化 PHP 该有的样子

    是的,虽然我们使用 PHP 工作很多年,但是我们能够说出哪些是最佳实践和最好的工具吗?我不能,但是我将要去这么做。...Psysh 是一款令人惊艳的工具,充满了引人注目的特性,可以全局安装,也可使用 composer 按项目安装。 对我而言最棒的 Psysh 特性就是内嵌文档功能。...当我面对一个复杂的遗留项目时,我决定学习测试。那个项目代码如此奇葩,以至于任何时间我添加一些代码都会出问题。 用新特性? 实现功能和制造问题!修改一个bug? 还是创建一个新的吧。...该代码使用你的 SDK、应用程序或者 web 系统实现这些步骤以及真正的用户将执行的操作 Behat 的工作流程十分流畅。在一切正确配置之后,你就可以开始编写测试功能的所有可能方案。...PHP CodeSniffer(https://packagist.org/packages/squizlabs/php_codesniffer) 就是一个你能在 Packagist 上找到并使用 Composer

    1.8K60

    来!狂撸一款PHP现代化框架 (准备工作)

    因为他必须具备一下几点 – 遵守PSR-4编码规范 – 使用Composer进行包管理 – 标准的HTTP请求方式 – 优雅的使用设计模式 开始我们无需关心性能问题,先考虑框架具体需要实现哪些功能...,这与实现业务就大不相同了,来!...开始我的表演。 前期 做任何一件事情都要有个前期准备工作。 1. 作为PSR-4的规定,我们命名空间得有一个祖宗名字,这里我叫他神圣的 《z_framework》 2....路由处理的一些功能 Bootstrap.php // 这可能是一个启动脚本 Zero.php // 可能是核心的入口文件 tests // 测试目录 .gitignore composer.json...LICENSE README.md 路由 还记得第一次使用Laravel时我们第一步做的事情吗?

    93720

    《吐血整理》保姆级系列教程-玩转Fiddler抓包教程(5)-Fiddler监控面板详解

    这个功能在我们做测试的时候也是非常有用的 ,使用它我们可以不影响用户体验的前提下进行测试。...可以不介入写任何JavaScript代码的情况下就可以实现与服务器之间的接口调试。 设计请求,修改请求参数,进行简单的接口测试。...具体操作:鼠标左键拖动请求的url至右侧Composer面板处,请求信息会自动填充,修改请求参数,点击Execute。做前后端的接口联调实际上就是用的Composer功能。...,其功能是用来收集数据和控制任何一个客户端,而客户端则是向任何其运行所在的Windows,Linux,Mac主机上收集接收过来的流量将其通过加密的方式报告发送给控制器,控制器会在Fiddler软件上的会话端显示...Filters选项卡也是在我们抓包过程中使用频率非常高的,其中功能也比较多,这里我把它内部的功能逐一拆解分成7个部分来进行讲解。

    2.1K20

    嗨,我的技术论坛上线啦!

    在周末折腾完WordPress之后,发现他的留言功能看起来很鸡肋,比如再写一些笔记的时候,一篇文章是写不完的,但是评论的话只能在某一篇文章下留言讨论,这样时间长了就不利于学习和检索。...因为我的个人博客站点用的就是wordpress.所以环境里面有现成的PHP环境,遵循官方文档直接开整既可,如果你的环境是干净的,那么你需要提前安装PHP、php-fpm等软件环境,以及composer的支持...,具体可参考的flarum中文社区安装文档[2] flarum是通过composer安装,所以先安装composer # wget -O composer-setup.php https://getcomposer.org...vnd.rim.location.xloc text/vtt text/x-component text/x-cross-domain-policy; } 到这里基本上就完成了...容器化 因为我自己的运行环境中已经有了nginx、php、MySQL等,所以对我来说直接安装flarum是更省事高效的,如果你是从零开始,可以使用容器化部署: https://github.com/devsecops-ecosystem

    78220

    【迅搜19】扩展(二)TNTSearch和JiebaPHP方案

    除了这样全量的操作索引数据外,也可以进行单条或多条数据的增、删、改,这些操作非常简单,而且就和写 SQL 语句一样,非常简单,大家可以自己去 GitHub 上看下文档哈,我就不具体演示了,下面就主要再看看怎么查询数据...这就是工具多样性的一个体现了。但是基础原理上,它们还是一样的倒排索引引擎。根本上还是一家人。 由于是完全的 PHP 实现,其实 TNTSearch 的源码就很容易让大家看明白了。...即使我没有深入的学习,但也大致了解到它是如果实现倒排索引的。TNTSearch 的倒排索引库是使用 SQLite 实现的(对应 XS 中的那些 .glass 文件,就是上节课学的)。...同样还是之前在倒排索引的原理时就讲过,分词之后的词项表,大部分还是通过B+树这样的存储方式来实现快速查找的。这里还需要过多解释吗?...最后再归结回去,不管 XS、ES、Sphinx或者其它,只要是搜索引擎应用或中间件,最终的原理都是和这一套是类似的,但具体的实现形式以及功能和语言各有不同。

    90711

    Cursor 完全使用教程

    对话窗口,我的天哪,Copilot 和它对比真的是个垃圾,因为 Cursor 对话生成的代码是可以直接应用到你的代码上的: Cursor对话窗的应用功能,那个apply就是将它修改的代码应用到代码上 之所以...CTRL/CMD + I 打开 Composer 使用 CTRL/CMD + I 能够打开 Cursor 的特殊功能:Composer。...Composer 是 Cursor 的特色功能,它的功能就是在一个对话窗口里同时对多个文件进行修改。...但因为 Cursor 官方没公开透明具体的实现法子,它自个也没调好,实际上使用效果忽好忽差的。 如果你遇到问题想偷懒不打开网页搜报错或是大模型自身的回答无法解决问题,你可以直接使用这个注记。 5....我感觉平时开发不会用到,因为它要传递过滤条件设置过滤参数: `@Codebase`注记需要你传递数量、过滤/排序时使用的模型等信息 它和通过 CTRL + enter 快捷键的区别估计就在于你能够自定义查询的过滤规则

    69.3K514

    深入详解 Jetpack Compose | 实现原理

    此外,我还讨论了 Compose 的思维模型、您应如何考虑使用 Compose 编写代码,以及如何创建您自己的 API。   在本文中,我将着眼于 Compose 背后的工作原理。...但在开始之前,我想要强调的是,使用 Compose 并不一定需要您理解它是如何实现的。接下来的内容纯粹是为了满足您的求知欲而撰写的。 @Composable 注解意味着什么?...我们将其称之为 “Composer”。Composer 的实现包含了一个与 Gap Buffer (间隙缓冲区) 密切相关的数据结构,这一数据结构通常应用于文本编辑器。...最后 您一定要记得的重要一点是,这些细节中的绝大部分只是实现细节。与标准的 Kotlin 函数相比, Composable 函数具有不同的行为和功能。...有时候理解如何实现十分有用,但是未来 Composable 函数的行为与功能不会改变,而实现则有可能发生变化。 同样的,Compose 编译器在某些状况下可以生成更为高效的代码。

    2.7K30

    Blade 模板引擎高级篇

    答案是有,在 Laravel 中,我们可以通过 View Composer 功能来实现上述需求,我们可以在后端通过 View Composer 将数据绑定到指定视图,从而避免在路由定义或控制器方法中重复获取以及显式传递这些视图组件所需的数据...除了常见的闭包方式外,你还可以通过自定义类的方式为 View Composer 实现更加灵活的数据预设。...3、自定义 Blade 指令 前面我们已经见识过很多基于 Blade 指令实现的功能了,比如控制结构、模板继承、服务注入等,Blade 指令的强大之处不止于此,还提供了接口让我们可以自定义满足自己特定需求的指令...我们可以通过自定义 Blade 指令替换那些在多处重复编写的、实现同样功能的代码,从而提高代码的可读性和复用性。...除此之外,我们还可以通过 Blade::if 方法在 Blade 模板中实现自定义的 if 指令,具体实现方式请参考官方文档。 (全文完)

    1.8K31

    除了PHP还应该学什么?

    PHP 官方提供的标准库非常强大,各种功能函数都能在官方的标准库中找到,包括MySQL、Memcache、Redis、GD图形库、CURL、XML、JSON等等,免除了开发者到处找库的烦恼。...作为一个资深的 PHP 开发者,在技术上给各位 PHP 程序十点未来的建议,希望对大家有所帮助。 1....PSR PSR 是 组织制定的PHP语言开发规范,约定了很多方面的规则,如命名空间、类名 规范、编码风格标准、Autoload、公共接口等。现在已经成为PHP技术社区事实上的标准了。...Laravel 提供的命令行工具基于 symfony.console 实现,功能强大,集成了各种项目管理、自动生成代码的功能。 6....2017 年你还在用 jQuery 操作 DOM 实现界面渲染吗?已经完全 out 了。现在用 Vue.js 可以非常方便地实现数据和 DOM 元素的绑定。

    1.6K20

    PHP 8.5 升级生存指南:避免凌晨两点回滚的检查清单

    所以你有两个相关的问题:"我的依赖图能在PHP8.5上解析吗?""我的生产环境真的满足解析出的依赖图吗?"...阶段B:假设在PHP8.5上解析依赖在composer.json中用config.platform.php模拟PHP8.5进行依赖解析(临时的,在分支上)。然后可控地运行composerupdate。...目标是上线期间的清晰度,不是一个永久的自定义错误框架。确保"绕过处理器的警告"不会让你措手不及PHP8.5弃用了在用户输出处理器内部产生输出的行为,并指出警告会绕过处理器以确保可见性。...如果你做自定义输出缓冲的骚操作,在预发环境用真实流量模式测试它们。上线策略:金丝雀或蓝绿部署,加上实际能用的回滚这是运维升级成败的关键。...实现取决于你的技术栈:负载均衡器后面的两个FPMpool,Kubernetesdeployment加权重路由,两个ASG/两个service加渐进流量切换。

    7300

    深入研究 Laravel ORM (Laravel Eloquent) 系统 (一) – 概要

    本文作为 Laravel ORM 系统的研究开篇,主要对 Laravel ORM 系统的主要功能、依赖的第三方类库、系统的目录结构及对应目录所实现的功能,进行解释说明。...此外还提供在 Laravel 框架内使用的数据库抽象层 DB 类。 非但如此,database 组件提供了能在非 Laravel 框架以外的项目使用接口 Capsule 类。...composer.json 配置文件我们可以看到,本项目依赖的其它组件有: doctrine/inflector 这是一个提供英文单复数转换等功能的转换器组件 illuminate/contracts...ORM 目录结构 |---- vendor |---- composer composer 包管理生成的自动加载文件 |---- doctrine...定义数据库迁移命令行工具对应的数据迁移实现类 |---- Query ORM 查询构造器实现 |-

    5.9K20

    浅谈PHP程序员的前程未来

    PHP 官方提供的标准库非常强大,各种功能函数都能在官方的标准库中找到,包括 MySQL、Memcache、Redis、GD 图形库、CURL、XML、JSON 等等,免除了开发者到处找库的烦恼。...作为一名 PHP 开发者,在技术上给各位 PHP 程序十点未来的建议,希望对大家有所帮助。...现在已经成为 PHP 技术社区事实上的标准了。很多知名的 PHP 框架和类库都遵守了 PSR 规范。PHP 开发者应当学习掌握 PSR 规范,在开发程序时应当尽量遵循 PSR 规范。...Laravel 提供的命令行工具基于 symfony.console 实现,功能强大,集成了各种项目管理、自动生成代码的功能。...2017 年你还在用 jQuery 操作 DOM 实现界面渲染吗?已经完全 out 了。现在用 Vue.js 可以非常方便地实现数据和 DOM 元素的绑定。

    2.2K50

    Fiddler 抓包工具总结(APP接口分析)

    当年学习的时候也蛮费劲,一些蛮实用隐藏的小功能用了之后就忘记了,每次去网站上找也很麻烦,所以搜集各大网络的资料,总结了一些常用的功能。...Composer 自定义请求发送服务器 Composer允许自定义请求发送到服务器,可以手动创建一个新的请求,也可以在会话表中,拖拽一个现有的请求 Parsed模式下你只需要提供简单的URLS地址即可(...Fiddler是个很会装逼的好东西,大概原理就是在浏览器面前Fiddler伪装成一个HTTPS服务器,而在真正的HTTPS服务器面前Fiddler又装成浏览器,从而实现解密HTTPS数据包的目的。...Fiddler 内置命令与断点 Fiddler还有一个藏的很深的命令框,就是眼前,我用了几年的Fiddler都没有发现它,偶尔在别人的文章发现还有这个小功能,还蛮好用的,整理下记录在这里。...解除断点) bpu All 跟bpafter差不多,只不过这个是收到请求了,中断响应 bpu baidu(输入bpu解除断点) bps Result 后面跟状态吗,表示中断所有是这个状态码的请求 bps

    5.4K53

    2017年 PHP 程序员未来路在何方

    PHP 官方提供的标准库非常强大,各种功能函数都能在官方的标准库中找到,包括MySQL、Memcache、Redis、GD图形库、CURL、XML、JSON等等,免除了开发者到处找库的烦恼。...作为一个资深的 PHP 开发者,在技术上给各位 PHP 程序十点未来的建议,希望对大家有所帮助。 1....现在已经成为PHP技术社区事实上的标准了。很多知名的 PHP 框架和类库都遵守了 PSR 规范。PHP 开发者应当学习掌握 PSR 规范,在开发程序时应当尽量遵循 PSR 规范。 4....Laravel 提供的命令行工具基于 symfony.console 实现,功能强大,集成了各种项目管理、自动生成代码的功能。 6....2017 年你还在用 jQuery 操作 DOM 实现界面渲染吗?已经完全 out 了。现在用 Vue.js 可以非常方便地实现数据和 DOM 元素的绑定。

    2.1K70

    Composer 镜像原理 (3) —— 完结篇

    相关文章 Composer 镜像原理 (1) —— 初识 Composer Composer 镜像原理 (2) —— composer.json Composer 镜像原理 (3) —— 完结篇 上一篇文章...提到的哈希值, 将会在这篇文章揭晓, 看完这篇文章, 也将会清楚地了解 Composer 镜像的工作原理....认识 Composer 镜像的工作原理之前, 先来认识一个非常好用的参数 -vvv: composer require monolog/monolog -vvv 随便找个目录, 执行上面的命令, 会看到这些东西...OK, 答案就在这里, 上一篇文章苦苦追寻的哈希值, 其实就是在保存在这些文件里面, 它的作用大家也应该猜到了, 其实就是校验而已, 也可以说是一个版本号的功能, 当包信息有更新时, 哈希会被更新, 旧的哈希随之失效...我实验过, 一个包只能在一个分片中出现. 总结, 一个 Composer 镜像服务器, 由 入口配置, 组件哈希, composer.json 这三部分组成. 拆开看完发现蛮简单的.

    28700
    领券