搜索
首页科技周边人工智能ChatGPT 写 PoC,拿下漏洞!

0×01前言

ChatGPT(Chat Generative Pre-trained Transformer)是当今备受瞩目的智能AI聊天机器人之一。它不仅能够实现基本的语言交流,还具备许多强大的功能,例如文章撰写、代码脚本编写、翻译等等。那么我们是否可以利用 ChatGpt 去辅助我们完成一些工作呢?比如当一个产品存在安全风险需要漏洞检测时,我们就需要编写对应的POC来实现。目前进行多次验证,我们初步证实了这个实验的可行性,可以训练 ChatGPT 去编写简单的 PoC,但是它对细节的把控并不够完善,例如对输出内容进行匹配的正则表达式的编写和一些复杂逻辑的处理等存在一定的误差,还需要人工干预修改处理。另外我们利用比对的方式验证了 ChatGPT 的一些安全猜想和训练模型的准确性。如下是将其与 Goby 实战化网络攻防工具所结合进行利用检测的实现效果。

ChatGPT 写 PoC,拿下漏洞!

0×02训练过程

我们利用 ChatGPT 与 Goby 结合编写 PoC 与 EXP 有两种方法:半自动编写和全自动编写(过程中使用 ChatGPT-Plus 账号)。

半自动编写利用 ChatGPT 进行语言格式转换,转换后生成的代码可能存在细节问题,需要进一步排错完善,最后修改对应的语句和函数内容完成 PoC 与 EXP 的编写。

全自动编写通过将使用到的代码模板、漏洞详细信息给到 ChatGPT,让它自动生成对应模板的 PoC,在给出详细信息时需要注意信息的完整与准确。目前可以实现自动编写简单的 PoC,对于EXP来说还需要进一步训练 ChatGPT 对 Goby 内置函数的使用等。

0×03CVE-2010-2861

Adobe ColdFusion 是一款高效的网络应用服务器开发环境。Adobe ColdFusion 9.0.1 及之前版本的管理控制台中存在多个目录遍历漏洞。远程攻击者可借助向 /CFIDE/administrator/enter.cfm 和 /CFIDE/administrator/archives/index.cfm 等发送的 locale 参数读取任意文件。

3.1 半自动编写

首先尝试让 ChatGPT 将 CVE-2010-2861 目录遍历漏洞的 Python 格式 EXP 转换为 Go 语言格式的代码,这样可以利用 ChatGPT 代替人工完成代码解释及代码转换的过程。

我们在漏洞公开平台中选取该漏洞的 EXP 代码:

ChatGPT 写 PoC,拿下漏洞!

在使用 ChatGPT 将相应漏洞的 EXP 代码转换之前,先演示一下原始 Python 代码的执行效果,具体如下:

ChatGPT 写 PoC,拿下漏洞!

开始转化格式:

ChatGPT 写 PoC,拿下漏洞!

此外,他还提供了该程序的使用方法。然而,每次 ChatGPT 的回答都可能不完全相同。此前的回答中并没有详细说明函数的具体用法,但在另一个回答中给出了以下解释:(如果需要,可在问题中增加“并介绍函数的具体用法”)

ChatGPT 写 PoC,拿下漏洞!

最后进行代码调试后,发现无法立即使用,未能成功读取所需的文件内容:

ChatGPT 写 PoC,拿下漏洞!

那么就需要开始排错,以下是排错过程:

检查正则匹配后字符串是否为空:

ChatGPT 写 PoC,拿下漏洞!

ChatGPT 写 PoC,拿下漏洞!

检查返回包内容是否正常,有无所需内容,如下返回数据包显示正常:

ChatGPT 写 PoC,拿下漏洞!

判断正则表达式有问题,无法匹配到对应内容:

通过排查发现正则表达式中没有正确匹配,因此无法将文件的内容正确取出,做出以下修改,修改后内容具体如下:

ChatGPT 写 PoC,拿下漏洞!

修改前:

ChatGPT 写 PoC,拿下漏洞!

最终执行结果,完成 Python—Go 的转化:

ChatGPT 写 PoC,拿下漏洞!

前面我们已经成功将 Python 格式的EXP转换为了 Go 语言格式,现在尝试将其转换为 Goby 格式的 PoC 和 EXP。

由于 Goby 使用的是基于 Go 语言开发的自研漏洞框架,为方便用户使用,其中已有很多内置函数可供用户使用,所以只需要利用上述部分代码即可完成 PoC 和 EXP,以下是 EXP 修改的大致说明与详细内容:

ChatGPT 写 PoC,拿下漏洞!

ChatGPT 写 PoC,拿下漏洞!

修改 import 内容:

ChatGPT 写 PoC,拿下漏洞!

由于生成的 EXP 在命令行使用时需要手动输入参数:

ChatGPT 写 PoC,拿下漏洞!

那么在 PoC 转化时,需要重新定义常量,并利用 Goby 中的 httpclient.FixUrl.IP 与 httpclient.FixUrl.Port 获取测试的 IP 和端口号,确定测试的文件路径 path:

ChatGPT 写 PoC,拿下漏洞!

接着在 PoC 中添加条件判断语句,判断漏洞存在的特征,并返回 true(有漏洞):

ChatGPT 写 PoC,拿下漏洞!

最后删除多余的输出打印代码即可完成 PoC 转化,如:

ChatGPT 写 PoC,拿下漏洞!

EXP 转化时,需重新定义变量,利用 Goby 中的 expResult.HostInfo.IP 与 expResult.HostInfo.Port 获取测试的IP和端口号,利用 ss.Params["filePath"]. (string) 获取用户输入的 EXP 参数——测试文件路径 filePath:

ChatGPT 写 PoC,拿下漏洞!

接着在 EXP 代码中添加条件判断语句,判断 EXP 是否执行成功,并输出 EXP 执行结果,完成 EXP 转化:

ChatGPT 写 PoC,拿下漏洞!

3.2 全自动编写

在使用 ChatGPT 与人工相结合编写后,我们进一步尝试使用它来撰写 Goby 格式的 PoC。

首先将 Goby 格式的模板给出:

ChatGPT 写 PoC,拿下漏洞!

接着将漏洞的编号、产品、类型、Url、漏洞文件、参数和判断成功条件给出,说明相关的字段格式,我们最终得到了下面的代码,它已经可以通过 Goby 前端的编译,并可以成功地生成简单的 PoC:

ChatGPT 写 PoC,拿下漏洞!

模型训练初步完成,继续使用第二个案例验证模型完善程度:

ChatGPT 写 PoC,拿下漏洞!

发现 Name 字段还是存在格式错误,再次训练修改(若验证中 Name 字段等输出正确,那么即可跳过此纠错步骤):

ChatGPT 写 PoC,拿下漏洞!

最后使用第三个案例进行验证最终的训练结果,训练成功:

ChatGPT 写 PoC,拿下漏洞!

将代码放入 Goby 中,并填入缺少的漏洞描述信息(后续还可继续深入训练),运行效果如下:

ChatGPT 写 PoC,拿下漏洞!

0×04 自我学习

当我们在利用 ChatGPT 去帮助编写一个新鲜出炉的 0day 漏洞或者其他机密漏洞的检测 PoC 这个过程当中,是否会导致程序注入或信息泄露等问题呢?也就是说当模型训练完成后,其他用户提问相关的内容,ChatGPT 是否会直接将训练好的模型或数据直接输出呢?

为了验证 ChatGPT 自我学习的猜想是否存在,分别通过“不同会话”与“不同账户”来进行训练。经过以下实践,得到的结论是 ChatGPT 并不会进行跨会话与跨账号的自我学习,训练好的模型与数据是掌握在 OpenAI 手中的,其他用户并不会得到相关的模型,所以目前还不存在相关信息数据泄露的安全风险,但日后的情况还需要根据 OpenAI 采取的决策做判断。

4.1 不同会话比对

将使用的模板(此处省略示意图)和漏洞信息给出,可以看到 PoC 中的 Name 和 Desc ription 字段并没有按照上一个会话中的训练模式来进行填充,因此在不同会话当中 ChatGPT 并不会自我学习,每个会话间的训练模型独立:

ChatGPT 写 PoC,拿下漏洞!

4.2 不同账号比对

同样将模板(此处省略示意图)和漏洞信息给出,也可以看到 PoC 中的相关字段并没有按照之前的训练模型来进行填充,由此可得知 ChatGPT 并不会跨账号自我学习:

ChatGPT 写 PoC,拿下漏洞!

0×05 ChatGPT3与4

ChatGPT4 已经更新上线,那么去使用 ChatGPT4 进行同样的全自动编写训练和 ChatGPT3 训练出来的模型有什么区别呢?答案是 ChatGPT4 要比 3 更“聪明灵动”一些,模型的生成更为准确。

我们将所需要的各种信息给出,经过一次训练后(此处省略部分示意图),达到了下图中正确的效果:

ChatGPT 写 PoC,拿下漏洞!

另外我们进行了 10 轮的训练,针对模型中的Name字段进行比对,来判断 ChatGPT3 与 4 的 PoC 编写准确率,发现均会出现概率性的出错情况,其中 3 的模型输出准确率要比 4 低一些,在一定情况下仍需进行纠错训练,如下表格所示:

ChatGPT 写 PoC,拿下漏洞!

0×06 总结

总的来说,ChatGPT 确实能够帮助完成一部分的工作,对于日常的工作例如编写漏洞 PoC,可以利用它的代码转换能力加速编写;也可以将漏洞的详细信息给出,利用 ChatGPT 训练合适的模型,直接输出一份简单的漏洞验证 PoC 代码,更加便捷快速。但它所提供的回答内容并不一定能直接复制使用,还需要进行一些人工的修正来完善。另外目前我们也可以相对放心去使用 ChatGPT,它并不会将单个用户的训练模型数据输出给其他用户来使用(不混淆会话可能是担心用户数据互相污染),但日后还需要针对 OpenAI 总部所作出的决策来进一步判断。因此 ChatGPT 的合理使用,可以辅助提高一定的工作效率,若日后可以再延续进一步的训练开发,比如是否可以利用其编写信息描述规范且较为复杂的 PoC 甚至是 EXP,或者将其工程化批量完成内容去探索更多的应用场景和潜力。

参考

[1] https://gobysec.net/exp

[2] https://www.exploit-db.com/exploits/14641

[3] https://zhuanlan.zhihu.com/p/608738482?utm_source=wechat_session&utm_medium=social&utm_oi=1024775085344735232

[4] 用ChatGPT来生成编码器与配套Webshell

  • 文章来自Goby社区成员:LPuff@白帽汇安全研究院,转载请注明出处。
  • 获取版本:https://gobysec.net

本文作者:GobySec, 转载请注明来自FreeBuf.COM

以上是ChatGPT 写 PoC,拿下漏洞!的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文转载于:51CTO.COM。如有侵权,请联系admin@php.cn删除
META的新AI助手:生产力助推器还是时间下沉?META的新AI助手:生产力助推器还是时间下沉?May 01, 2025 am 11:18 AM

Meta携手Nvidia、IBM和Dell等合作伙伴,拓展了Llama Stack的企业级部署整合。在安全方面,Meta推出了Llama Guard 4、LlamaFirewall和CyberSecEval 4等新工具,并启动了Llama Defenders计划,以增强AI安全性。此外,Meta还向10个全球机构(包括致力于改善公共服务、医疗保健和教育的初创企业)发放了总额150万美元的Llama Impact Grants。 由Llama 4驱动的全新Meta AI应用,被设想为Meta AI

80%的Zers将嫁给AI:研究80%的Zers将嫁给AI:研究May 01, 2025 am 11:17 AM

公司开创性的人类互动公司Joi AI介绍了“ AI-Iatsionship”一词来描述这些不断发展的关系。 Joi AI的关系治疗师Jaime Bronstein澄清说,这并不是要取代人类C

AI使互联网的机器人问题变得更糟。这家耗资20亿美元的创业公司在前线AI使互联网的机器人问题变得更糟。这家耗资20亿美元的创业公司在前线May 01, 2025 am 11:16 AM

在线欺诈和机器人攻击对企业构成了重大挑战。 零售商与机器人ho积产品,银行战斗帐户收购和社交媒体平台与模仿者的斗争。 AI的兴起加剧了这个问题,Rende

卖给机器人:将创造或破坏业务的营销革命卖给机器人:将创造或破坏业务的营销革命May 01, 2025 am 11:15 AM

AI代理人有望彻底改变营销,并可能超过以前技术转变的影响。 这些代理代表了生成AI的重大进步,不仅是处理诸如chatgpt之类的处理信息,而且还采取了Actio

计算机视觉技术如何改变NBA季后赛主持人计算机视觉技术如何改变NBA季后赛主持人May 01, 2025 am 11:14 AM

人工智能对关键NBA游戏4决策的影响 两场关键游戏4 NBA对决展示了AI在主持仪式中改变游戏规则的角色。 首先,丹佛的尼古拉·乔基奇(Nikola Jokic)错过了三分球,导致亚伦·戈登(Aaron Gordon)的最后一秒钟。 索尼的鹰

AI如何加速再生医学的未来AI如何加速再生医学的未来May 01, 2025 am 11:13 AM

传统上,扩大重生医学专业知识在全球范围内要求广泛的旅行,动手培训和多年指导。 现在,AI正在改变这一景观,克服地理局限性并通过EN加速进步

Intel Foundry Direct Connect 2025的关键要点Intel Foundry Direct Connect 2025的关键要点May 01, 2025 am 11:12 AM

英特尔正努力使其制造工艺重回领先地位,同时努力吸引无晶圆厂半导体客户在其晶圆厂制造芯片。为此,英特尔必须在业界建立更多信任,不仅要证明其工艺的竞争力,还要证明合作伙伴能够以熟悉且成熟的工作流程、一致且高可靠性地制造芯片。今天我听到的一切都让我相信英特尔正在朝着这个目标前进。 新任首席执行官谭立柏的主题演讲拉开了当天的序幕。谭立柏直率而简洁。他概述了英特尔代工服务的若干挑战,以及公司为应对这些挑战、为英特尔代工服务的未来规划成功路线而采取的措施。谭立柏谈到了英特尔代工服务正在实施的流程,以更以客

AI出了问题吗?现在在那里为此保险AI出了问题吗?现在在那里为此保险May 01, 2025 am 11:11 AM

全球专业再保险公司Chaucer Group和Armilla AI解决了围绕AI风险的日益严重的问题,已联手引入了新型的第三方责任(TPL)保险产品。 该政策保护业务不利

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

VSCode Windows 64位 下载

VSCode Windows 64位 下载

微软推出的免费、功能强大的一款IDE编辑器

SecLists

SecLists

SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

安全考试浏览器

安全考试浏览器

Safe Exam Browser是一个安全的浏览器环境,用于安全地进行在线考试。该软件将任何计算机变成一个安全的工作站。它控制对任何实用工具的访问,并防止学生使用未经授权的资源。