news 2026/5/21 7:15:51

基于PHP构建:利用GitHub仓库通过CVE-ID查找POC/漏洞利用

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
基于PHP构建:利用GitHub仓库通过CVE-ID查找POC/漏洞利用

基于PHP的应用:通过CVE-ID从GitHub查找POC/漏洞利用

在2021年4月9日,我创建了一个名为git-cve的基于命令行(cli)的Python3应用程序。git-cve可以根据指定的CVE-ID搜索漏洞利用(Exploit)或概念验证(POC)。但我对此并不满意,因为它不够稳定。我当时想创建一个类似的工具,但要基于Web图形用户界面(GUI)。我看到了vulners的一篇帖子,他们发布了一个新的机器人,用于根据CVE-ID查找POC/漏洞利用。

来源:Vulners Facebook页面

因此我想,让我们也创建一个类似的东西,但要只使用PHP且无需任何成本。在创建我的Git-CVEPython脚本时,我发现了一个GitHub仓库,该仓库自动收集针对CVE-ID的POC/漏洞利用,有趣的是这些收集到的信息都以JSON格式存储。这对我来说是一个加分项。

GitHub仓库:GitHub - nomi-sec/PoC-in-GitHub

所以我考虑将这个仓库作为我应用的API来使用,因为它是开源的且经常更新。那么,让我们开始编写代码。

点击“raw”,我们可以查看此页面的原始格式,URL看起来像这样:

https://raw.githubusercontent.com/nomi-sec/PoC-in-GitHub/master/2021/CVE-2021-21975.json

如果我改变/2021/CVE-2021-21975的值,它将显示指定CVE编号的结果。我们将保持其他部分不变,仅将这两个值替换为用户输入(.json保持不变)。我们不需要从用户那里获取两个输入,因为CVE-ID本身就包含了其发布的年份。

首先,让我们使用PHP获取用户输入。我们可以通过HTML表单或URL参数来实现。在本例中,我将使用GET方法和URL参数来获取用户输入。

让我们创建一个名为cve_id的变量,并将用户输入存储在其中。

<?php $cve_id = $_GET['id']; ?>

它将通过名为id的URL参数获取用户输入,并将其存储到cve_id变量中。

示例:

https://url.tld/cve.php?id=CVE-2020-1234

获取用户输入后,我们的第一步是清理用户输入,因为我们不希望其恶意载荷在我们的网页上执行。我们不会创建另一个变量来存储清理后的输入,而是将直接使用htmlentities()从源头清理用户输入。

现在,我们的首要任务是从这个CVE ID中分割出年份,因为我们需要年份来获取该CVE-ID的POC/漏洞利用信息。PHP有一个名为explode的函数,可以帮助使用特殊字符分隔文本。我们的CVE ID包含一个分隔cve-year-id的特殊字符。我们将使用连字符(-)explode函数来分割年份。分割后,我们将得到3个值:0、1、2,分别对应CVE、YEAR、ID。现在让我们来分割它。

在上面的代码中,我首先创建了一个名为$spl的变量来存储所有分割后的数组,然后我将数组编号为1的元素(年份)存储到了名为$year的变量中。

现在我们的任务是向该GitHub仓库发起调用,以获取关于用户输入CVE-ID的POC的所有信息。

请求URL后,我们将收到JSON响应,现在我们需要处理JSON以提取关于该CVE-ID的确切信息。PHP有一个名为json_decode的内置函数,用于解码JSON并提取信息。我们将使用这个json_decode来解码响应。首先让我们看看JSON包含什么内容。

它包含id、仓库名称、html_url、创建日期等等。我们不需要所有这些。我们将只提取这个POC的URL和作者姓名。如果需要,你可以扩展它,但出于本文目的,我只提取作者的GitHub用户名和POC链接。

首先,让我们使用PHP函数file_get_contents从URL获取JSON,并使用json_decode来提取JSON内容。开始吧。

我们的框架已经准备好了,现在让我们将这些数据提取到我们的客户端页面。

输出将类似于下面的图片。

源代码:
我的项目:https://git-cve.system00-sec.com/

感谢阅读。我的主要动机是从旧事物中创造新事物并使它们开源,我并不想取笑或在财务上伤害他人,本文仅解释了我如何创建我的项目,仅此而已。
CSD0tFqvECLokhw9aBeRquC3oGLY3Hy/RSVByZf07xCye9yyF8xWYomSZASCxc0RUXVhyF8CC+N/LJEJJQDkE7Uxyy4CIErqFLDnJWdLQ2l5HPWwQtn/yYw2C9E0EWMovZsPQAblzWomQn5u0fo3kA==
更多精彩内容 请关注我的个人公众号 公众号(办公AI智能小助手)
对网络安全、黑客技术感兴趣的朋友可以关注我的安全公众号(网络安全技术点滴分享)

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/20 21:18:41

Moonlight-16B:2倍效率!MoE模型性能突破新高度

大语言模型领域再迎技术突破&#xff0c;Moonshot AI推出的Moonlight-16B-A3B-Instruct模型通过优化训练算法与架构设计&#xff0c;实现了计算效率与性能的双重跃升&#xff0c;将16B参数规模的混合专家&#xff08;Mixture-of-Expert, MoE&#xff09;模型性能推向新高度。 【…

作者头像 李华
网站建设 2026/5/20 12:33:29

Qwen3-VL震撼发布:8B参数视觉语言模型新标杆

Qwen3-VL-8B-Thinking-FP8模型正式发布&#xff0c;以80亿参数规模实现视觉语言理解能力跃升&#xff0c;成为当前轻量级多模态模型的性能新标杆&#xff0c;其FP8量化版本在保持接近BF16精度的同时大幅降低部署门槛。 【免费下载链接】Qwen3-VL-8B-Thinking-FP8 项目地址: …

作者头像 李华
网站建设 2026/5/20 23:23:43

Qwen3-VL-8B-FP8:AI视觉大模型效率革命

导语&#xff1a;阿里达摩院推出Qwen3-VL-8B-Instruct-FP8量化模型&#xff0c;在保持原始模型性能的同时实现存储与计算效率的双重突破&#xff0c;为视觉语言大模型的边缘部署与规模化应用开辟新路径。 【免费下载链接】Qwen3-VL-8B-Instruct-FP8 项目地址: https://ai.gi…

作者头像 李华
网站建设 2026/5/20 12:58:19

Open-AutoGLM PC版关停倒计时:为什么你必须马上转向WebGLM?

第一章&#xff1a;Open-AutoGLM 电脑版怎么没了? 近期&#xff0c;不少用户反馈在主流应用商店和开源平台中已无法找到 Open-AutoGLM 的电脑版客户端。这一变化引发了社区广泛讨论。实际上&#xff0c;该项目并未停止维护&#xff0c;而是进行了战略调整&#xff0c;将重点从…

作者头像 李华
网站建设 2026/5/20 12:33:46

Qwen-Edit-2509:AI图像编辑新突破,镜头视角自由掌控

Qwen-Edit-2509&#xff1a;AI图像编辑新突破&#xff0c;镜头视角自由掌控 【免费下载链接】Qwen-Edit-2509-Multiple-angles 项目地址: https://ai.gitcode.com/hf_mirrors/dx8152/Qwen-Edit-2509-Multiple-angles 导语 阿里达摩院旗下Qwen系列再添新成员——Qwen-E…

作者头像 李华
网站建设 2026/5/20 12:33:34

Cogito v2 70B大模型:开启AI深度思考新纪元

Cogito v2 70B大模型&#xff1a;开启AI深度思考新纪元 【免费下载链接】cogito-v2-preview-llama-70B 项目地址: https://ai.gitcode.com/hf_mirrors/unsloth/cogito-v2-preview-llama-70B 导语&#xff1a;DeepCogito发布的Cogito v2 70B大模型凭借混合推理能力和迭代…

作者头像 李华