如何利用AI实现工具的编写(手把手教你做出辅助src挖掘工具)
前言:

用ai写工具的关键就是prompt,只有写好提示词,AI才能够明白你的需求,才能够写出好的代码,最起码运行的起来吧,如果说我们不写好prompt,那AI它就开始自由发挥了,那真的很恐怖,哈哈哈
那么我们应该怎么去写这个开发工具的prompt呢,下面是我经常使用的提示词模板,我们重点关注的是它模板中的逻辑以及体系
想要对应的提示词模板,关注,后台私信”提示词”即可获取
对应工具我已经放到我github上了:https://github.com/passion-sec/AI-Project
一.如何利用标准的提示词模板去写出对应工具的提示词
可能你会遇到这样的问题:我是小白,没有开发经验,也不知道怎么去写出一个工具,也不懂提示词,不知道怎么去编写提示词,在我这里你完全不用担心这些问题,按照我的逻辑和思路,编写一款辅助用的工具不需要你有任何开发基础和提示词功底,你一样能写出类似的工具
好的,话不多说,我们以一个具体的src挖掘问题入手,手把手教你写出一个像样的工具,在此之前我们要明白AI工具开发最重要的就是prompt
具体问题:你是否会遇到这种问题,当我们在挖掘项目或者是挖src的过程中,有的时候我们在js文件中找到一个文件上传的接口,例如接口路径中包含upload,然后我们访问对应路径,结果网页显示对应参数缺失,有些小聪明可能会直接去编写一个前端的页面然后将对应的接口填写进去,这样就能够实现上传,确实很聪明;还有就是我们平时日常项目中可能会遇到任意的文件上传,但是对于现在的spring框架来说,想通过文件上传去那shell基本上是不可能的,但是我们可以去打xss呀!例如后缀.svg/.html/.xml/.pdf等等,是不是每次都要重新的去进行放包,然后再选择对应的文件,这样真的是太low了,我们现在来开发一款工具来解决这些痛点,这个只是一个案例,后续要开发别的工具也是同样的逻辑
二.prompt生成具体步骤
1.首先将我们的提示词模板直接喂给ai,让他好好分析一下,好好看看这个模板,这里我用的是gemini

2.说出具体想要怎么去实现这个工具,你想要这个工具有什么样的功能点,尽量的描述清楚
这个是我当时对ai的描述(gemini):
好的,你现在根据这个模板的逻辑以及规划,用python语言去写一个工具,这个工具的作用运用的具体场景是:在我们进行src挖掘的时候,我们有的时候我们找到了一个文件上传的接口,但是网页中没有具体的功能点,但是它文件上传的接口确实是存活的,我们需要去手动的去构建数据包发送到接口,所以我这个工具主要解决的问题是我将对应接口的url给你,你按照文件上传的格式去构建一个数据包,然后在你开发这个工具的过程中,我有一些实际的功能点也需要你去实现,例如:我想有一个可选文件的框,让我在工具的页面也能够通过选择的方式去选择文件来进行上传例如我们可选test.txt test.html test.svg等等,然后我还需要你设计一个点就是我可以自定义去选择mime类型,然后对应工具创建的数据包的mime类型也发生变化.最后最好在工具中能够有一个发包的按钮,能够实现在工具中就发送数据包,然后能够返回响应包到工具中,这个是我全部的需求,现在你根据我上面给你的提示词模板的设计逻辑,以及样式去写出符合我的需求的prompt
然后AI就生成了对应我要求的提示词

这样我就拿到了初步的prompt,注意现在的AI给的提示词不能算完美,可能能生成对应的工具,但是使用起来可能会出现问题,所以我们需要手动的去看看提示词,这里我只建议懂业务,会代码的人去看看AI写的提示词是否合理,但是你是小白也没事,这个时候我们就要用上我们万能的ChatGPT啦
话不多说,直接将gemini生成的prompt去分析我们的提示词,让他评价一下,然后对我们这个设计进行评判,然后提出修改性的建议

这样建议不就来了嘛,继续喂给gemini宝宝,让他润色提示词,到这里基本上就能生成一个很好的工具了,如果后续有问题我们在claude code去微调一下就可以了

三.话不多说,请神Claude code
直接把生成的提示词给claude,让它自己动

后续就是等待就完事了,是不是很简单,这里我调侃说一下:计算机已死,哈哈哈哈(我是菜鸡)

然后这边也非常的人性化,.bat一键启动,这就是最终的效果

但是我当时是出了一点小问题,就是收不到响应包,如下:

但是我直接将图片给他,然后跟他说明具体问题让他去进行整改这是怎么回事,为什么实现不了上传文件,我想问的是你写的这个工具这个地方是写上完整的对应接口吗?我现在把这个靶场的地址给你: http://10.11.11.129/upload/test.php
你调试一下

然后工具立面给改好了,这效率无敌啊,然后工具就正常了 好的,现在话不多说,直接写一个文件上传的功能点去进行尝试,这个是一个任意文件上传的漏洞


可以看到我这里也加上了一下功能点,例如绕过mime检验,后续,我们也可以尝试去开发出文件幻术绕过也是可以的,只要对号ai需求就可以了

这边也是贴心的把响应包和请求包写在这里了,我们也可以直接复制到ai,甚至说可以写一个接口,直接代理到bp,直接一键化


这里我们可以自己存上那个.pdf/.svg/.html等等,以便下次直接使用
好的我的分享就到这里,我希望大家搞安全的尽量将日常我们所做的事情早一点融入到AI里面去,它给我们带来的不仅经是效率,也是我们未来的路
这只是我的鄙见,诸君共勉,顶峰相见
夜雨聆风