从0到1渗透测试自动化挖到某SRC漏洞的个人心得

我从3月份开始初步接触到Claude code,当时的感觉就是太强大了,能完成以前很多觉得不可思议的事情,甚至于对于渗透,它给我的感受是已经可以替代我这个工作快满一年的小菜鸟了。许多的渗透方式,连我自己都未曾尝试。从那个时候起,我就在考虑,如何让它完全的替代我。 和许多人一样,接触到Claude c...
从0到1渗透测试自动化挖到某SRC漏洞的个人心得
从0到1渗透测试自动化挖到某SRC漏洞的个人心得

我从3月份开始初步接触到Claude code,当时的感觉就是太强大了,能完成以前很多觉得不可思议的事情,甚至于对于渗透,它给我的感受是已经可以替代我这个工作快满一年的小菜鸟了。许多的渗透方式,连我自己都未曾尝试。从那个时候起,我就在考虑,如何让它完全的替代我。

和许多人一样,接触到Claude code后,我第一时间是想着从基础学起,让我对AI的认知了解更为深刻。很可惜,我并不是一个“好读书”的好苗子,让gpt给我一条学习路径,我仅仅完成了前两个就再也不想坚持下去了。所以接下来的心得,可以说是“野路子”。在我并不熟悉ai的情况下,由结果倒推过程的路子,哈哈,写的不好不要喷我~

最初的做法:胡乱添加了一些GitHub上的skill,然后又用ai生成了一堆claude.md的文件,放到Claude code中,就酷酷的对网站进行测试了。但即使是这样,Claude code给我的惊喜也很大,当时deepseek4pro还没出来,我使用的还是glm4.7版本。背景是:我想用Claude code帮助我复现一个数据库漏洞,并讲清楚这个漏洞的原理(因为那个数据库接触的比较少,让ai来可以省去很多找payload试错的时间),仅此而已。
我负责搭建环境–》提出要求–》Claude code就开始运行了。
转折点来了,我给他的漏洞接口是:
/api/v1/hosts/command/search
但它居然能测试出/api/v1/hosts/search接口存在漏洞

a4f68cc4ce50f64b8dbe749994aee8aa
8a9e72ddb167cc6e22471f52db9db1ea
24abbf5ad536d220a468cb53f1871fe6
从这个时候起,我就意识到了ai的强大,它其实根本不需要我们给出过多的提示或者约束就能进行完成(哈哈,这个说法到后面我自己就会推翻了)

接下来我是怎么去完成自动化,一开始我认为我的skill已经足够的强大了(虽然是随便加的)。让它去完成各种的测试,甚至是SRC的测试,但效果可以说是水洞的天堂:

ed23c56c04b9e31c6ecba2257a966d56
这些水洞有些我连上班的时候都不敢提交。

后面是怎么做的呢?后面我对skill的理解不再是理论上的东西,而是实际的。它就是一份说明书,你在skill中写的越多,那么测试的方向则会越符合你的心意!意思就是,你不要将流程交给ai自己去摸索你要把你的工作流程交给AI的同时,让AI再进行思考。这样AI就不会花费大量的时间在测试流程上反复横跳:
最理想的skill文件是:

image
一个大的skill文件,里面写的是你希望如何测试SQL注入,能够使用哪些工具,有哪些姿势,遇到什么场景该怎么做等等。而references文件夹也就是说明文件夹中,你应该存放着你刚刚说的哪些场景的具体数据包(不用全部,举例即可),工具的完整使用命令以及出处这类的完整说明文件,来保证你的Claude code能正确的调用这些工具,是的,你必须教会它调用你电脑上的工具,否则它将会调用时非常的奇怪且反复横跳。
image
那么其他两个文件夹呢?
一个是用来存放脚本文件的,比如你测试sql注入的时候,希望做一些对payload加解密,那么你完全可以将这个脚本存放到skill文件夹中,这样它就不会傻乎乎的自己再去写脚本,而脚本也不一定能符合你的心意。
image
另外一个文件夹,你可以将你整理出牛逼的payload,直接存放,来保证它每次sql测试的时候都先使用你的payload,再去自己想payload。这会大大的提高测试效率
image

在优化完你skill的逻辑后,你就要想,有没有最简单的工具能完成最多的事情?如果有,那么久只需要一个工具就好了。因为太多的工具,不仅会影响模型的判断,还会将大量的时间重复在一个点上。比如有fuff工具,其实是不是就可以替代sqlmap工具了?理论上是可以的,但为什么我没这样做,因为那样我又要重新教ai,sql注入到底该如何测试,而sqlmap保留下来却可以让他测试变得顺利。

6 个帖子 - 5 位参与者

阅读完整话题

来源: linux.do查看原文