如何使用0d1n对Web应用程序进行自动化定制渗透
字数 1390 2025-08-15 21:33:26

0d1n Web应用程序自动化定制渗透工具使用指南

0d1n工具概述

0d1n是一款用C语言开发的Web应用程序自动化定制渗透测试工具,具有以下核心特点:

  • 完全采用C语言开发,性能高效
  • 使用pthreads线程库实现多线程处理
  • 支持多种Web应用程序安全测试场景

功能特性

认证测试

  • 暴力破解登录凭证(用户名和密码)
  • 支持处理CSRF令牌的认证爆破

目录枚举

  • 使用PATH列表进行目录爆破
  • 基于HTTP状态码识别有效目录

漏洞检测

  • SQL注入漏洞检测
  • XSS(跨站脚本)漏洞检测
  • SSRF(服务器端请求伪造)漏洞检测
  • 命令注入漏洞检测

其他功能

  • 支持为每个请求加载反CSRF令牌
  • 支持为每个请求设置随机代理
  • 支持响应内容匹配检测
  • 支持多种payload变形(tamper)以绕过WAF

安装指南

系统依赖

  • libcurl-dev 或 libcurl-devel(基于RPM的Linux发行版)

安装步骤

  1. 克隆项目仓库:
$ git clone https://github.com/CoolerVoid/0d1n/
  1. 安装libcurl:
# Debian/Ubuntu系统
$ sudo apt-get install libcurl-dev 或 libcurl4-dev

# RPM系统(如CentOS)
$ sudo yum install libcurl-devel
  1. 编译安装主程序:
$ cd 0d1n
$ make; sudo make install USER=你的用户名
  1. 编译安装查看器:
$ cd 0d1n_viewer
$ make; sudo make install USER=你的用户名

启动服务

$ sudo 0d1n_view  # 启动报告查看服务
# 在另一个终端中
$ 0d1n  # 启动主程序

卸载

$ cd 0d1n; sudo make uninstall
$ cd 0d1n_view; sudo make uninstall

使用示例

1. 目录爆破

$ 0d1n --host http://127.0.0.1/^ \
       --payloads /opt/0d1n/payloads/dir_brute.txt \
       --threads 500 \
       --timeout 3 \
       --log bartsimpsom4 \
       --save_response

参数说明

  • --host: 目标URL,^表示注入点
  • --payloads: 使用的payload文件路径
  • --threads: 线程数(根据设备性能调整,高性能设备可设为800-1200)
  • --timeout: 超时时间(秒)
  • --log: 日志名称
  • --save_response: 保存服务器响应

2. SQL注入检测

$ 0d1n --host 'http://site.com/view/1^/product/^/' \
       --payloads /opt/0d1n/payloads/sqli_list.txt \
       --find_string_list /opt/0d1n/payloads/sqli_str2find_list.txt \
       --log log1337 \
       --tamper randcase \
       --threads 800 \
       --timeout 3 \
       --save_response

参数说明

  • --find_string_list: 用于识别漏洞的响应特征文件
  • --tamper randcase: 使用随机大小写变形payload以绕过WAF

3. 认证系统爆破

$ 0d1n --host 'http://site.com/auth.py' \
       --post 'user=admin&password=^' \
       --payloads /opt/0d1n/payloads/wordlist.txt \
       --log log007 \
       --threads 500 \
       --timeout 3

说明:如需处理CSRF令牌,需使用额外参数获取每个请求的令牌

4. 高级SQL注入检测(带CSRF令牌)

$ 0d1n --host "http://127.0.0.1/vulnerabilities/sqli/index.php?id=^" \
       --payloads /opt/0d1n/payloads/sqli.txt \
       --find_string_list /opt/0d1n/payloads/find_responses.txt \
       --token_name user_token \
       --log logtest_fibonaci49 \
       --cookie_jar /home/user_name/cookies.txt \
       --save_response \
       --tamper randcase \
       --threads 100

关键参数

  • --token_name: CSRF令牌字段名
  • --cookie_jar: 存储会话cookies的文件路径

工具目录结构

主要payload文件位置:

  • /opt/0d1n/payloads/ 包含:
    • dir_brute.txt - 目录爆破字典
    • sqli_list.txt - SQL注入测试payload
    • sqli_str2find_list.txt - SQL注入响应特征
    • wordlist.txt - 密码爆破字典
    • find_responses.txt - 漏洞响应特征

性能调优建议

  1. 线程设置:

    • 普通设备:300-500线程
    • 高性能设备:800-1200线程
    • 需根据目标服务器响应时间和自身设备性能调整
  2. 超时设置:

    • 通常设置为3秒
    • 对响应慢的目标可适当增加
  3. 资源监控:

    • 高线程数可能导致系统资源紧张
    • 建议监控CPU和内存使用情况

注意事项

  1. 法律合规:

    • 仅对授权目标使用
    • 未经授权的测试可能违法
  2. 测试建议:

    • 生产环境测试前先在测试环境验证
    • 高负载测试可能影响目标系统可用性
  3. 功能限制:

    • 需要自行准备合适的payload文件
    • 复杂场景可能需要定制开发

资源链接

通过本指南,您应该能够充分利用0d1n工具进行高效的Web应用程序渗透测试。请始终记住在合法授权范围内使用安全测试工具。

0d1n Web应用程序自动化定制渗透工具使用指南 0d1n工具概述 0d1n是一款用C语言开发的Web应用程序自动化定制渗透测试工具,具有以下核心特点: 完全采用C语言开发,性能高效 使用pthreads线程库实现多线程处理 支持多种Web应用程序安全测试场景 功能特性 认证测试 暴力破解登录凭证(用户名和密码) 支持处理CSRF令牌的认证爆破 目录枚举 使用PATH列表进行目录爆破 基于HTTP状态码识别有效目录 漏洞检测 SQL注入漏洞检测 XSS(跨站脚本)漏洞检测 SSRF(服务器端请求伪造)漏洞检测 命令注入漏洞检测 其他功能 支持为每个请求加载反CSRF令牌 支持为每个请求设置随机代理 支持响应内容匹配检测 支持多种payload变形(tamper)以绕过WAF 安装指南 系统依赖 libcurl-dev 或 libcurl-devel(基于RPM的Linux发行版) 安装步骤 克隆项目仓库: 安装libcurl: 编译安装主程序: 编译安装查看器: 启动服务 卸载 使用示例 1. 目录爆破 参数说明 : --host : 目标URL, ^ 表示注入点 --payloads : 使用的payload文件路径 --threads : 线程数(根据设备性能调整,高性能设备可设为800-1200) --timeout : 超时时间(秒) --log : 日志名称 --save_response : 保存服务器响应 2. SQL注入检测 参数说明 : --find_string_list : 用于识别漏洞的响应特征文件 --tamper randcase : 使用随机大小写变形payload以绕过WAF 3. 认证系统爆破 说明 :如需处理CSRF令牌,需使用额外参数获取每个请求的令牌 4. 高级SQL注入检测(带CSRF令牌) 关键参数 : --token_name : CSRF令牌字段名 --cookie_jar : 存储会话cookies的文件路径 工具目录结构 主要payload文件位置: /opt/0d1n/payloads/ 包含: dir_brute.txt - 目录爆破字典 sqli_list.txt - SQL注入测试payload sqli_str2find_list.txt - SQL注入响应特征 wordlist.txt - 密码爆破字典 find_responses.txt - 漏洞响应特征 性能调优建议 线程设置: 普通设备:300-500线程 高性能设备:800-1200线程 需根据目标服务器响应时间和自身设备性能调整 超时设置: 通常设置为3秒 对响应慢的目标可适当增加 资源监控: 高线程数可能导致系统资源紧张 建议监控CPU和内存使用情况 注意事项 法律合规: 仅对授权目标使用 未经授权的测试可能违法 测试建议: 生产环境测试前先在测试环境验证 高负载测试可能影响目标系统可用性 功能限制: 需要自行准备合适的payload文件 复杂场景可能需要定制开发 资源链接 项目地址: GitHub仓库 演示视频: YouTube演示 (需替换油管为youtube) 通过本指南,您应该能够充分利用0d1n工具进行高效的Web应用程序渗透测试。请始终记住在合法授权范围内使用安全测试工具。