2、环境搭建:Python虚拟环境、Burp Suite配置、OWASP靶场部署、AI模型API接入

说实话,环境搭建这事儿,看着琐碎,但真踩过坑的人都知道——这一步要是没弄好,后面全白搭。我见过太多人花了两小时调Burp Suite的证书,结果发现是Python虚拟环境没激活。嗯,咱们今天就把这些坑一个个填平。

2.1 Python虚拟环境:隔离才是王道

为什么非要用虚拟环境?说白了,你项目A要requests 2.28,项目B要requests 2.31,装一起就打架。我早期做渗透测试脚本时,就因为全局装了个旧版Flask,导致整个自动化扫描器跑不起来。后来学乖了——每个项目一个虚拟环境,干净又省心。

核心原则:虚拟环境 = 项目的“独立小房间”,互不干扰。

操作步骤很简单:

# 创建虚拟环境(我习惯用 venv,轻量无依赖)
python -m venv websec_env

# 激活(Windows)
websec_env\Scripts\activate

# 激活(macOS/Linux)
source websec_env/bin/activate

# 安装核心依赖
pip install requests beautifulsoup4 selenium flask
pip install openai  # 后面AI接入要用

我的小技巧:在项目根目录建一个 requirements.txt,每次装完包就 pip freeze > requirements.txt。这样换机器时一条命令就能恢复环境。

2.2 Burp Suite配置:代理与证书

Burp Suite是Web安全测试的“瑞士军刀”。但很多人第一步就卡住了——浏览器连不上代理。为什么会这样?因为默认只监听了127.0.0.1:8080,你得让流量走这个口。

我个人习惯这样配:

  1. 设置代理监听:Proxy → Options → Add,绑定地址填 127.0.0.1,端口 8080。
  2. 浏览器装插件:我用FoxyProxy(Chrome/Firefox都行),一键切换代理模式。
  3. 安装CA证书:访问 http://burpsuite,下载cacert.der,导入到浏览器“受信任的根证书颁发机构”。

我曾经踩过的坑:证书导入后HTTPS还是报错?检查一下是不是只导入了“个人”证书存储区,应该导入到“受信任的根证书颁发机构”。另外,记得重启浏览器。

验证是否成功:打开浏览器访问任意HTTPS网站,Burp Suite的HTTP history里能看到请求,说明流量已经经过代理了。

2.3 OWASP靶场部署:练手必备

学Web安全,没靶场怎么练?OWASP全家桶里,我推荐两个:

靶场名称 特点 部署方式
DVWA 经典入门,漏洞类型全 Docker一键部署
WebGoat 交互式教学,有闯关提示 Java JAR包运行

我个人更推荐DVWA,因为Docker部署真的省事:

# 拉取镜像
docker pull vulnerables/web-dvwa

# 运行容器(映射到本地80端口)
docker run -d -p 80:80 vulnerables/web-dvwa

# 访问 http://localhost 即可
# 默认账号:admin,密码:password

避坑指南:如果你用Mac M1/M2芯片,记得加 --platform linux/amd64 参数,否则容器可能起不来。我曾经因为这个折腾了半小时。

部署完成后,把DVWA的安全等级调到“low”——先练手,再挑战高难度。

2.4 AI模型API接入:让工具更聪明

好了,重头戏来了。我们要把AI能力注入到安全测试中。目前主流的方式是调用大模型的API,比如OpenAI的GPT系列或国产的DeepSeek。

我建议先注册一个OpenAI账号(或者用国内镜像),拿到API Key。然后写个简单的Python脚本测试连通性:

import openai

# 设置API Key(别硬编码在代码里,用环境变量)
openai.api_key = "sk-your-key-here"

# 测试调用
response = openai.ChatCompletion.create(
    model="gpt-3.5-turbo",
    messages=[
        {"role": "system", "content": "你是一个Web安全专家"},
        {"role": "user", "content": "分析这段代码的SQL注入风险:SELECT * FROM users WHERE id = " + user_input}
    ]
)

print(response.choices[0].message.content)

关键点:API Key千万别提交到Git仓库!我习惯用 .env 文件配合 python-dotenv 库来管理敏感信息。

你想想看,有了AI接口,后面我们可以做很多事情:自动分析漏洞报告、生成测试Payload、甚至让AI帮你写POC脚本。嗯,这些内容咱们后面章节会详细展开。

2.5 环境验证:跑通才算完

所有东西装完后,我习惯跑一个“冒烟测试”:

  1. 激活虚拟环境,确认Python版本是3.8+
  2. 启动Burp Suite,浏览器访问百度,看能不能抓到包
  3. 访问DVWA靶场,登录成功
  4. 运行上面的AI测试脚本,看能不能返回结果

如果这四步都过了,恭喜你,环境搭建完成。后面咱们就可以安心搞事情了。

最后提醒一句:所有测试操作请在自己的靶场或授权环境中进行。别问我为什么强调这个——我曾经见过有人把Burp Suite代理指向了生产环境,后果嘛...你懂的。