既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上Go语言开发知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
在使用 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 并不会自我学习,每个会话间的训练模型独立:
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上Go语言开发知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上Go语言开发知识点,真正体系化!**
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新