渗透测试工具
27 个 Web 安全测试工具,仅标准库
在线 Playground
在浏览器中直接体验本页相关 API,无需本地安装 Go 环境。
pentest
Web 渗透测试工具库,提供 27 个独立的主动安全测试工具,全部仅依赖 Go 标准库。
注意: 本模块为主动安全测试工具(向目标发送 payload 探测漏洞),与
common/下的防御性安全库(totp/passkey/password/jwtutil/crypto)性质不同。请确保仅在授权范围内使用。
import
import "github.com/LingByte/ling-base/pentest"工具列表
注入类
| 工具 | 类型 | 说明 |
|---|---|---|
SQLInjectionTester | sql_injection.go | SQL 注入测试(错误型/时间型/布尔型/UNION 型) |
XSSTester | xss.go | XSS 测试(反射型/存储型/DOM 型) |
CommandInjectionTester | command_injection.go | 命令注入测试(时间延迟/输出特征) |
TemplateInjectionTest | template_injection.go | 模板注入测试(Jinja2/Freemarker/Velocity/Twig) |
XXETest | xxe.go | XXE 测试(XML 外部实体注入) |
SSRFTest | ssrf.go | SSRF 测试(内网扫描/云元数据访问) |
DeserializationTest | deserialization.go | 反序列化测试(JSON/PHP/Java/Python) |
遍历/包含类
| 工具 | 类型 | 说明 |
|---|---|---|
PathTraversalTest | path_traversal.go | 路径遍历测试(../ 等特殊字符) |
FileInclusionTest | file_inclusion.go | 文件包含测试(LFI/RFI) |
FileUploadTester | file_upload.go | 文件上传测试(恶意文件上传绕过) |
扫描/枚举类
| 工具 | 类型 | 说明 |
|---|---|---|
AdvancedPortScanner | advanced_port_scanner.go | 端口扫描(TCP/UDP/服务识别/banner 抓取) |
DirectoryScanner | directory_scanner.go | 目录扫描(并发扫描常见目录和文件) |
SubdomainEnumerator | subdomain_enum.go | 子域名枚举(DNS 查询) |
Reconnaissance | reconnaissance.go | 信息收集(技术栈/目录结构/敏感文件) |
认证/会话类
| 工具 | 类型 | 说明 |
|---|---|---|
JWTSecurityTest | jwt_security.go | JWT 安全测试(弱密钥/算法混淆/无签名验证) |
PasswordCracker | password_cracker.go | 密码爆破(字典攻击) |
SessionSecurityTest | session_security.go | 会话安全测试(Cookie 安全属性/会话固定) |
CSRFTester | csrf.go | CSRF 测试(CSRF 令牌/SameSite Cookie/Referer) |
IDORTest | idor.go | IDOR 测试(水平/垂直越权) |
分析/检测类
| 工具 | 类型 | 说明 |
|---|---|---|
HeadersSecurityTest | headers_security.go | HTTP 安全头检测(CSP/HSTS/X-Frame-Options) |
EncryptionTest | encryption.go | 加密强度测试(TLS/SSL 配置/证书有效性) |
APISecurityTest | api_security.go | API 安全测试(未授权访问/信息泄露) |
BusinessLogicTest | business_logic.go | 业务逻辑测试(价格操纵/负数量/竞争条件) |
RateLimitBypass | rate_limit_bypass.go | 速率限制绕过测试 |
SensitiveInfoScanner | sensitive_info.go | 敏感信息泄露扫描(API 密钥/密码/令牌) |
SecurityBaseline | security_baseline.go | 安全基线检查(HTTPS/安全头/认证) |
LogAnalyzer | log_analyzer.go | 日志分析(Web 服务器日志攻击痕迹检测) |
用法示例
package main
import (
"context"
"fmt"
"time"
"github.com/LingByte/ling-base/pentest"
)
func main() {
// SQL 注入测试
tester := pentest.NewSQLInjectionTester(10 * time.Second)
result, err := tester.TestURL(context.Background(), "https://example.com/page?id=1")
if err != nil {
panic(err)
}
if result.Vulnerable {
fmt.Printf("发现 SQL 注入: %s (类型: %s)\n", result.Payload, result.Type)
}
// HTTP 安全头检测
headersTest := pentest.NewHeadersSecurityTest(10 * time.Second)
hResult, err := headersTest.TestURL(context.Background(), "https://example.com")
if err != nil {
panic(err)
}
fmt.Printf("安全评分: %d/100\n", hResult.Score)
for _, check := range hResult.Checks {
if !check.Present {
fmt.Printf(" 缺失: %s (%s)\n", check.Header, check.Severity)
}
}
}特点
- 零外部依赖: 全部仅依赖 Go 标准库
- 独立可用: 每个工具自带类型定义,无内部耦合
- 统一风格: 每个工具遵循
NewXxx(timeout) *Xxx+TestXxx(ctx, ...) Result模式 - 并发安全: 扫描类工具内置并发控制
许可证
MIT