ChatGPT写POC,拿下漏洞!

0×01 前言

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

在这里插入图片描述

0×02 训练过程

我们利用 ChatGPT 与 Goby 结合编写 PoC 与 EXP 有两种方法:半自动编写和全自动编写(过程中使用 ChatGPT-Plus 账号)。
半自动编写利用 ChatGPT 进行语言格式转换,转换后生成的代码可能存在细节问题,需要进一步排错完善,最后修改对应的语句和函数内容完成 PoC 与 EXP 的编写。

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

0×03 CVE-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 将相应漏洞的 EXP 代码转换之前,先演示一下原始 Python 代码的执行效果,具体如下:

在这里插入图片描述

开始转化格式:

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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

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

在这里插入图片描述

在这里插入图片描述

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

在这里插入图片描述

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

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

在这里插入图片描述

修改前:

在这里插入图片描述

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

在这里插入图片描述

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

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

在这里插入图片描述
在这里插入图片描述

修改 import 内容:

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

3.2 全自动编写

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

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

0×04 自我学习

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

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

4.1 不同会话比对

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

在这里插入图片描述

4.2 不同账号比对

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

在这里插入图片描述

0×05 ChatGPT3与4

ChatGPT4 已经更新上线,那么去使用 ChatGPT4 进行同样的全自动编写训练和 ChatGPT3 训练出来的模型有什么区别呢?答案是 ChatGPT4 要比 3 更“聪明灵动”一些,模型的生成更为准确。
我们将所需要的各种信息给出,经过一次训练后(此处省略部分示意图),达到了下图中正确的效果:

在这里插入图片描述

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

在这里插入图片描述

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 欢迎表哥/表姐们加入我们的社区大家庭,一起交流技术、生活趣事、奇闻八卦,结交无数白帽好友。

也欢迎投稿到 Goby(Goby 介绍/扫描/口令爆破/漏洞利用/插件开发/ PoC 编写/ IP 库使用场景/ Webshell 等文章均可),审核通过后可加 5000-10000 社区积分哦,我们在积分商城准备了好礼,快来加入微信群体验吧~~~

文章来自Goby社区成员:LPuff@白帽汇安全研究院,转载请注明出处。

微信群:公众号发暗号“加群”,参与积分商城、抽奖等众多有趣的活动

获取版本:https://gobysec.net/sale

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/4347.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ChatGPT从入门到精通,了解ChatGPT

ChatGPT从入门到精通,一站式掌握办公自动化/爬虫/数据分析和可视化图表制作 全面AI时代就在转角 道路已经铺好了 “局外人”or“先行者” 就在此刻 等你决定 1、ChatGPT从入门到精通,一站式掌握办公自动化/爬虫/数据分析和可视( 点击观看完整版本 ) 。…

ChatGPT 又大面积封号了...

ChatGPT 大面积封号 ing... ChatGPT 又双叒开始大面积封号了... 从昨天开始,许多童鞋纷纷表示,自己的 ChatGPT plus 账号被封了。 许多人收到了一封来自 OpenAI 的邮件,文中称由于账号存在可疑行为,为了保障平台安全&#xff0…

拯救全网的Chatgpt解封攻略(盗版必究)

登陆提示被封 大陆网友起床第一件事就是看到如下这张图,不管你是普通账号还是plus账号,都会面临被封的风险,大家不要慌,下面狗哥紧急启动了一个解封攻略,送上保姆级的解封教程,帮助大家快速解封。 准备一封…

ChatGPT 又开始大规模封号了...

今天中午,很多朋友都跟我反馈,收到了来自 OpenAI 的一封邮件: 邮件大意是,OpenAI 发现了你的 ChatGPT 账号存在可疑活动,为了保障平台安全,已自动退款并取消你的 ChatGPT Plus 订阅,账号无法再使…

ChatGPT又双叒大面积封号了...

来源:新智元 ChatGPT又双叒开始大面积封号了... 从昨天开始,许多童鞋纷纷表示,自己的ChatGPT plus账号被封了。 许多人收到了一封来自OpenAI的邮件,文中称由于账号存在可疑行为,为了保障平台安全,才这么做。…

ChatGPT大规模封号...

👇👇关注后回复 “进群” ,拉你进程序员交流群👇👇 最近各个ChatGPT&AI群都在传一个消息:ChatGPT官方大面积封号,登录gpt千万别用亚洲节点! 过了会很多人开始发自己的帐号被封了…

ChatGPT 被大面积封号,到底发生什么了?

意大利数据保护机表示 OpenAI 公司不但非法收集大量意大利用户个人数据,没有设立检查 ChatGPT 用户年龄的机制。 ChatGPT 似乎正在遭遇一场滑铁卢。 3月31日, 大量用户在社交平台吐槽,自己花钱开通的 ChatGPT 账户已经无法登录,更…

唯一客服系统(独立部署无限多开)-知识库ChatGPT-支持微信公众号小程序-钉钉-PC和H5全渠道客服系统...

产品介绍 唯一客服系统是基于Golang语言自主开发的在线客服系统。创立于2019年初,是一款连接企业与客户的即时通讯项目,遵循快速、简洁的开发原则,是为中小企业量身定制的全渠道客服系统,致力于帮助广大开发者/公司快速部署整合私…

爬虫?不是,mitmproxy帮你采集微信公众号留言

前言 有位朋友需要收集公司微信公众号的文章的留言,但苦于微信公众平台没有提供留言的API,所以朋友需要在每一篇文章下面去手动复制粘贴,朋友觉得很麻烦,于是来找到我!遂有此文。 下一篇,将结合uiautomatio…

你应该知道的——微信公众号配上机器人回复(微信对话开放平台)

前言 今天看了好多文章都是接入ChatGPT来作为微信公众号的机器人回复,弄了半天还没注册成功,于是搜了搜微信公众号机器人,发现了微信公众号配备了机器人! 虽然没有ChatGPT高级,但是自己玩玩还是挺好的,主…

从 0 开始最详细的微信公众号接入 AI

从 0 开始最详细的微信公众号接入 AI 文章目录 从 0 开始最详细的微信公众号接入 AI写在前面注册公众号克隆到服务器使用过微信机器人项目未使用过微信机器人项目 更改配置文件启动项目更换机器人接口写在最后 大家也可以浏览我其他的博客: 从 0 开始最详细的 Chat…

微信公众号、支付接口认证:一步步教您如何实现

1、微信公众号接口认证方案 1.1 认证流程 1)官方配置Token验证 Token不在网络中传递 2)开发一个Token验证接口 Token及其它参数拼接并字典排序再做sha摘要计算微信定期调用此接口来验证身份正确性通过摘要验证判断请求来源微信(Token配置…

ChatGPT扩展系列之跨平台桌面客户端ChatBox

ChatGPT扩展系列之跨平台桌面客户端ChatBox 今天介绍一下好玩的东西——ChatBox 为什么需要 ChatBox? 直接使用 ChatGPT API (OpenAI API) 是比较困难的,需要了解编程与接口调用,而且用起来不够方便。ChatBox 可以帮助你处理所有的底层调用。ChatBox 还帮你在本地保存了所…

ChatBox安装--ChatGPT的桌面客户端

ChatBox 是什么 是开源的 ChatGPT API (OpenAI API) 桌面客户端,Prompt 的调试与管理工具,支持 Windows、Mac 和 Linux。 > github地址 下载链接 支持的平台: Windows : 请下载.msi安装包 Mac:请下载.dmg(推荐…

20 个你从未想过的 ChatGPT 用途!

以下内容来自公众号逆锋起笔,关注每日干货及时送达 这篇文章向我们展示了ChatGPT的有趣用途,如创作独特的故事、写作协助、模拟对话和游戏等。这些应用展示了ChatGPT的强大功能和灵活性。通过这些有趣的例子,我们可以看到ChatGPT作为一种人工…

我们用ChatGPT做什么?我们可以利用ChatGPT去做的11件事。

1. 快速撰写定制的简历和求职信 如果您目前正在找工作,那么求职过程中最累人的部分之一就是为您申请的每份工作撰写个性化的简历和求职信。不幸的是,您不能简单地为每份工作写一份。 ChatGPT 是在线制作简历的最快方式之一。它可以帮助您减轻在短短几秒…

ChatGPT调用API攻略

随着ChatGPT的问世,交互型人工智能技术得到了进一步的发展,各大互联网巨头也争相研发类似于ChatGPT的产品,例如百度的文心一言,CSDN的chitgpt等等。相比较而言,ChatGPT的相较于其他而言还是略胜一筹,在这里…

浅谈ChatGPT技术原理的个人理解

浅谈ChatGPT技术原理的个人理解 前言ChatGPT的技术原理ChatGPT第一阶段-冷启动阶段的监督策略模型ChatGPT第二阶段-训练回报模型(Reward Model,RM)ChatGPT第三阶段-采用强化学习来增强预训练模型的能力 ChatGPT能否取代Google、百度等传统搜索引擎总结 前…

ChatGPT如何助力IT从业者?如何让ChatGPT帮助我们变现赚钱?

随着人工智能技术的快速发展,chatgpt已经成为了一个热门话题。它是一种人工智能语言模型,可以模拟人类对话,能够帮助IT从业人员在很多方面提升工作效率和生产力。那我们该如何巧妙利用它呢? ChatGPT如何助力IT从业者? 自然语言…

ChatGPT正式开放API,企微接入平台上线

ChatGPT正式开放API,企微接入平台上线 前言接入方法Demo 前言 这几天,OpenAI正式开放ChatGPT API的消息又再次火爆AI界的朋友圈了吧,并且开放的是已经应用到 ChatGPT 产品中的gpt-3.5 - turbo模型。不仅如此,让开发者更兴奋的是C…