网安技能

Polar Sponsor
爱发电 赞助
.NET 9.0

网络安全与SRC漏洞掘金实战技能。融合「系统学习路径」与「SRC实战掘金」双模式: ①学习模式=法律→基础→工具→靶场→攻防→就业全流程; ②实战模式=直接指导在腾讯TSRC、阿里ASRC、百度BSRC等平台挖掘高价值漏洞变现。 当用户提出以下问题时触发: "我想学网络安全怎么入门""SRC漏洞怎么挖能赚钱""渗透测试需要学什么" "Web安全漏洞原理是什么""怎么准备CTF比赛""护网面试会问什

网络安全攻防与SRC掘金技能

功能概述

网络安全攻防与SRC掘金技能是一项面向实际任务的技能,主要用于🔷 两种使用模式;📚 学习模式 (系统入门);

核心要点

  • 按阶段1→15循序渐进,零基础到就业全流程;
  • 适合:在校学习、在职转岗、零基础入门;
  • 💰 掘金模式 (直接赚钱);

使用与执行

跳过学习,直接看「各阶段🎯实战掘金」板块,告诉你当前能挖什么漏洞、去哪个平台、奖金多少;适合:有基础想变现、急于副业收入;🚀 快速开始(3步上手);遇到问题先运行环境自检,90%的问题都能自动诊断出来。它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。

结果检查与注意事项

从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。

网络安全攻防与SRC掘金技能

🔷 两种使用模式

📚 学习模式(系统入门)

按阶段1→15循序渐进,零基础到就业全流程。适合:在校学习、在职转岗、零基础入门。

💰 掘金模式(直接赚钱)

跳过学习,直接看「各阶段🎯实战掘金」板块,告诉你当前能挖什么漏洞、去哪个平台、奖金多少。适合:有基础想变现、急于副业收入。

🚀 快速开始(3步上手)

遇到问题先运行环境自检,90%的问题都能自动诊断出来。

第1步:环境自检

python scripts/check_env.py

运行后会输出完整的诊断报告,告诉你环境哪里有问题、怎么修。

第2步:安装依赖

pip install -r requirements.txt

第3步:运行第一个脚本

# 端口扫描(测试本地)
python scripts/port_scanner.py 127.0.0.1 1 100

# 子域名枚举
python scripts/subdomain_enum.py example.com

文件速查:

  • README.md — 快速入门
  • requirements.txt — Python依赖
  • scripts/check_env.py — 环境诊断(遇到问题先运行)
  • scripts/ — 5个实战脚本
  • references/ — 15个阶段学习文档

💰 SRC掘金实战指南(优先阅读)

这部分是技能的核心价值——学完能用,用完能赚钱。

国内主流SRC平台对比

平台 网址 奖金范围 结算速度 难度 推荐指数
腾讯TSRC security.tencent.com 100-100000元 快(1-2周) 中 ⭐⭐⭐⭐⭐
阿里ASRC asrc.alibaba.com 200-50000元 中(2-4周) 中高 ⭐⭐⭐⭐
百度BSRC bsrc.baidu.com 100-30000元 快 中 ⭐⭐⭐⭐
360SRC security.360.cn 50-20000元 中 低中 ⭐⭐⭐
京东JSRC src.jd.com 100-50000元 中 中 ⭐⭐⭐⭐
字节火山 security.bytedance.com 200-80000元 快 高 ⭐⭐⭐⭐⭐

漏洞类型 × 奖金对照表

漏洞类型 低危奖金 中危奖金 高危奖金 严重奖金 挖掘难度 出现频率
越权访问 200-500 500-2000 2000-10000 10000+ ⭐⭐ 极高
信息泄露 100-500 500-2000 2000-8000 8000+ ⭐ 极高
SQL注入 500-1000 1000-5000 5000-20000 20000+ ⭐⭐⭐ 高
逻辑漏洞 500-2000 2000-10000 10000-50000 50000+ ⭐⭐⭐ 中
XSS 100-300 300-1000 1000-5000 — ⭐ 高
未授权访问 200-1000 1000-5000 5000-20000 — ⭐ 高
RCE(远程代码执行) — 5000-20000 20000-100000 100000+ ⭐⭐⭐⭐⭐ 低
反序列化 — 2000-10000 10000-50000 50000+ ⭐⭐⭐⭐ 中低

💡 掘金建议:优先挖越权和信息泄露(容易且高频),其次逻辑漏洞(奖金高),有深度后再挖RCE(奖金最高但极难)。

高效挖掘工作流

① 选平台 → 注册账号,阅读奖励规则
    ↓
② 选目标 → 从平台资产列表挑软目标(新上线的业务最好挖)
    ↓
③ 信息收集 → 子域名枚举、端口扫描、目录爆破
    ↓
④ 漏洞发现 → 按「掘金优先级」顺序测试
    ↓
⑤ 编写报告 → 用标准模板,配好截图/POC
    ↓
⑥ 提交等待 → 通常1-3个工作日审核
    ↓
⑦ 奖金到账 → 平台打款(支付宝/微信/银行卡)

报告编写模板(直接复制用)

【漏洞标题】[目标名称] 越权漏洞(如:越权删除任意用户数据)

【漏洞URL】
https://example.com/api/user/delete

【漏洞描述】
在XXX功能模块,未对操作者的权限进行校验,导致普通用户可越权操作其他用户的数据。

【复现步骤】
1. 登录普通用户A,抓包记录正常请求
2. 修改请求中的user_id参数为其他用户的ID
3. 重放请求,发现操作成功,证明越权存在

【请求包截图】
[粘贴Burp截取的请求包]

【响应包截图】
[粘贴响应包,证明操作成功]

【危害证明】
可删除/修改任意用户数据,造成严重数据泄露和业务影响。

【修复建议】
1. 服务端对操作者身份进行严格校验
2. 使用服务端session,不依赖前端传参
3. 增加权限中间件,统一处理鉴权逻辑

新手掘金路线图

时间投入 可达成目标 预期月收入
每天1小时,持续1个月 掌握OWASP Top 10,能挖低危漏洞 500-2000元
每天2小时,持续3个月 熟练挖掘越权/信息泄露,中危稳定产出 2000-8000元
每天3小时,持续6个月 能挖高危RCE/逻辑漏洞,成为平台常客 8000-30000元

⚠️ 技能边界与局限性(必读)

明确技能能做什么、不能做什么,避免产生不切实际的预期。

本技能能帮你做什么

能力 说明 示例
系统学习 从法律基础到就业面试的完整学习路径 零基础 → 15个阶段 → 具备SRC挖洞能力
实战掘金 指导在SRC平台挖漏洞并获取奖金 告诉你挖什么、去哪挖、怎么写报告
工具使用 提供可直接运行的Python脚本 端口扫描、目录爆破、子域名枚举等
环境搭建 指导搭建靶场和渗透测试环境 DVWA、Pikachu、Vulhub一键部署
排错支持 遇到问题有详细的排查方案 万能排错流程 + 脚本独立FAQ + 环境自检

本技能不能做什么(局限性)

不能做的事 原因 替代方案
自动挖漏洞 挖洞需要人工分析每个目标的业务逻辑 本技能提供方法论和工具,仍需你手动测试
绕过所有WAF WAF规则随时更新,没有通用绕过方案 本技能教思路,具体绕过需根据目标调整
保证一定能挖到漏洞 漏洞存在与否取决于目标系统的安全状况 坚持系统化测试,提高发现概率
代替合法授权 任何测试必须获得目标授权 只在SRC平台资产列表或自有系统上测试
提供最新0day漏洞 0day具有时效性,且涉及法律风险 本技能教挖洞方法,让你自己发现漏洞
保证奖金数额 奖金由平台根据漏洞危害评估决定 按本技能的方法论提高报告质量,间接提升奖金
一键生成高质量报告 报告需要针对具体漏洞写详细复现步骤 本技能提供报告模板,需你填入具体内容

适合谁 / 不适合谁

✅ 适合:

  • 零基础想学网络安全的人
  • 有基础想在SRC平台掘金的人
  • 准备CTF比赛或安全面试的人
  • 想了解Web安全漏洞原理的人

❌ 不适合:

  • 想找"一键赚钱"捷径的人(没有这种东西)
  • 想找0day漏洞库的人(本技能不收集漏洞)
  • 想攻击未授权目标的人(违法,本技能不提供任何支持)
  • 完全不想动手只想听理论的人(本技能强调实战和动手)

📦 配套工具箱(开箱即用)

本技能提供 6 个可直接运行的Python脚本 和 1 个配套字典文件。下载解压后,无需任何额外准备即可运行。

代码质量与稳定性保障

所有脚本均经过以下设计,确保运行时稳定可靠:

设计特性 说明 受益
异常捕获 每个关键操作都有 try/except/finally 不会因为单个错误导致整个程序崩溃
超时控制 网络请求均设置超时(1-5秒) 不会因为网络慢而卡死
多线程安全 queue.Queue + threading.Lock 并发执行不出错
资源释放 sock.close()、queue.task_done() 在 finally 中执行 不会内存泄漏或线程阻塞
优雅降级 模块缺失时给出明确提示,不直接报错退出 用户知道缺什么、怎么装

脚本总览

脚本 功能 依赖 代码行数
scripts/check_env.py 环境诊断(Python版本/模块/网络/权限) 纯标准库 ~120行
scripts/port_scanner.py TCP端口扫描(多线程+服务识别) 纯标准库 ~130行
scripts/dir_bruteforce.py Web目录/文件爆破(多线程+状态码过滤) requests ~140行
scripts/subdomain_enum.py 子域名枚举(多线程+DNS超时控制) dnspython ~120行
scripts/xss_scanner.py 反射型XSS检测(Payload自动注入+响应分析) requests ~100行
scripts/sql_injection_tester.py SQL注入检测(GET/POST+错误关键词匹配) requests ~120行
scripts/wordlist.txt 目录爆破字典(100+常见路径) — 100+条

1. check_env.py — 环境自检诊断

功能:自动检测Python环境、模块依赖、网络连通性、文件完整性。

核心代码(精简展示异常处理设计):

import sys, subprocess, socket, os

def check_python():
    """检测Python版本"""
    version = sys.version_info
    if version.major >= 3 and version.minor >= 8:
        return True, f"Python {version.major}.{version.minor}.{version.micro} (>= 3.8)"
    return False, f"Python {version.major}.{version.minor} (需要 >= 3.8)"

def check_modules():
    """检测必要模块"""
    required = ['socket', 'threading', 'queue', 'urllib']
    missing = []
    for mod in required:
        try:
            __import__(mod)
        except ImportError:
            missing.append(mod)
    return len(missing) == 0, missing

def check_network():
    """检测网络连通性"""
    try:
        socket.create_connection(("www.baidu.com", 80), timeout=3)
        return True, "网络通畅"
    except Exception as e:
        return False, str(e)

# 运行后输出彩色诊断报告,标记[OK]/[WARN]/[FAIL]

用法:

python scripts/check_env.py

预期输出:

[OK] Python版本: 3.12.1 (>= 3.8)
[OK] 必要模块: 全部已安装
[OK] 推荐模块: requests已安装
[OK] 网络连通性: 正常
[OK] 脚本文件完整性: 6/6 文件存在
========================================
诊断结果: 环境正常,可以开始使用

2. port_scanner.py — TCP端口扫描器

功能:多线程TCP端口扫描,自动识别服务类型。

核心代码(展示异常处理+超时控制):

import socket, threading, queue

port_queue = queue.Queue()
results = []

def port_scan(target, port, timeout=1):
    """扫描单个端口,异常不崩溃"""
    try:
        sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        sock.settimeout(timeout)           # 超时控制
        result = sock.connect_ex((target, port))
        if result == 0:
            try:
                service = socket.getservbyport(port, 'tcp')
            except:
                service = 'unknown'
            results.append((port, 'OPEN', service))
            print(f"[+] 端口 {port} 开放 ({service})")
        sock.close()
    except socket.timeout:
        pass                                # 超时=端口关闭,不报错
    except Exception:
        pass                                # 任何异常都不崩溃

def worker(target):
    """多线程工作函数,异常安全"""
    while not port_queue.empty():
        try:
            port = port_queue.get_nowait()
        except queue.Empty:
            break
        try:
            port_scan(target, port)
        except Exception:
            pass
        finally:
            port_queue.task_done()          # 确保队列计数正确

# 主函数:自动解析域名→创建50线程→join等待→输出结果

用法:

python scripts/port_scanner.py 127.0.0.1 1 1000

预期输出:

============================================================
端口扫描器
目标: 127.0.0.1
端口范围: 1 - 1000
线程数: 50
============================================================

[+] 端口 80   开放 (http)
[+] 端口 443  开放 (https)
[+] 端口 3306 开放 (mysql)

============================================================
扫描完成
开放端口数: 3
============================================================

3. dir_bruteforce.py — Web目录爆破器

功能:多线程目录/文件爆破,内置User-Agent,支持扩展名扫描。

核心代码(展示异常处理+队列安全):

import requests, threading, queue

result_queue = queue.Queue()
found_paths = []
lock = threading.Lock()

def check_path(base_url, path):
    """检查单个路径,超时3秒"""
    url = base_url.rstrip('/') + '/' + path.lstrip('/')
    try:
        headers = {'User-Agent': 'Mozilla/5.0'}
        r = requests.get(url, headers=headers, timeout=3, allow_redirects=False)
        if r.status_code in [200, 301, 302, 403, 401]:
            return (url, r.status_code)
    except requests.Timeout:
        pass                                # 超时跳过
    except requests.ConnectionError:
        pass                                # 连接失败跳过
    except Exception:
        pass                                # 其他异常不崩溃
    return None

def worker(base_url):
    """工作线程,异常安全+队列计数保护"""
    while not result_queue.empty():
        try:
            path = result_queue.get_nowait()
        except queue.Empty:
            break
        try:
            result = check_path(base_url, path)
            if result:
                with lock:                  # 线程锁保护共享数据
                    found_paths.append(result)
                    print(f"[+] [{result[1]}] {result[0]}")
        except Exception:
            pass
        finally:
            result_queue.task_done()        # finally确保计数正确

用法:

python scripts/dir_bruteforce.py http://your-target.com scripts/wordlist.txt

预期输出:

[+] [200] http://your-target.com/robots.txt
[+] [301] http://your-target.com/admin
[+] [403] http://your-target.com/api/
[+] [200] http://your-target.com/.env
目录爆破完成,发现 4 个有效路径

4. subdomain_enum.py — 子域名枚举器

功能:多线程子域名枚举,DNS查询超时控制,进度实时输出。

核心代码(展示DNS异常处理+多线程):

import dns.resolver, threading, queue

sub_queue = queue.Queue()
found_subdomains = []
lock = threading.Lock()

def check_subdomain(domain):
    """查询子域名DNS记录,超时3秒"""
    try:
        resolver = dns.resolver.Resolver()
        resolver.timeout = 3               # DNS查询超时
        resolver.lifetime = 5              # 总生命周期
        answers = resolver.resolve(domain, 'A')
        ips = [str(rdata) for rdata in answers]
        return True, ips
    except dns.resolver.NXDOMAIN:
        return False, None                 # 不存在,正常结果
    except dns.resolver.Timeout:
        return False, None                 # 超时,不报错
    except Exception:
        return False, None                 # 其他异常不崩溃

def worker(base_domain):
    """多线程工作函数"""
    while not sub_queue.empty():
        try:
            sub = sub_queue.get_nowait()
        except queue.Empty:
            break
        domain = f"{sub}.{base_domain}"
        try:
            exists, ips = check_subdomain(domain)
            if exists:
                with lock:
                    found_subdomains.append((domain, ips))
                    print(f"[+] {domain} -> {', '.join(ips)}")
        except Exception:
            pass
        finally:
            sub_queue.task_done()

用法:

python scripts/subdomain_enum.py example.com

预期输出:

[+] www.example.com -> 93.184.216.34
[+] mail.example.com -> 93.184.216.35
[+] api.example.com -> 93.184.216.36
子域名枚举完成,发现 3 个有效子域名

5. xss_scanner.py — 反射型XSS检测器

功能:自动注入XSS Payload,检测响应中是否未过滤地反射。

核心代码(展示Payload注入+编码检测):

import requests, urllib.parse

XSS_PAYLOADS = [
    '',
    '">',
    "'>",
]

def test_xss(url, param):
    """测试单个参数是否反射XSS Payload"""
    for payload in XSS_PAYLOADS:
        test_url = url.replace(f"{param}=", f"{param}={urllib.parse.quote(payload)}")
        try:
            r = requests.get(test_url, timeout=5, headers={
                'User-Agent': 'Mozilla/5.0'
            })
            if payload in r.text:
                # 检查是否被HTML编码(如 <script>)
                encoded = payload.replace('<', '<').replace('>', '>')
                if encoded not in r.text:
                    return True, payload        # 未编码反射 = 可能存在XSS
        except requests.Timeout:
            pass
        except requests.ConnectionError:
            pass
        except Exception:
            pass
    return False, None

用法:

python scripts/xss_scanner.py "http://your-target.com/search?q=test" q

预期输出:

[*] 测试URL: http://your-target.com/search?q=test
[*] 参数: q
[+] 发现潜在XSS漏洞!
    Payload: 
    测试URL: http://your-target.com/search?q=%3Cscript%3Ealert(1)%3C/script%3E
    说明: Payload在响应中未编码反射

6. sql_injection_tester.py — SQL注入检测器

功能:GET/POST参数SQL注入测试,基于错误关键词和响应差异检测。

核心代码(展示错误匹配+异常细分):

import requests, urllib.parse, sys

SQL_PAYLOADS = [
    ("'", "单引号测试"),
    ("' OR '1'='1", "逻辑测试"),
    ("' UNION SELECT 1,2,3-- ", "UNION测试"),
]

ERROR_KEYWORDS = ['sql', 'syntax', 'mysql', 'sqlite', 'postgresql',
                  'ora-', 'error', 'warning']

def test_sql_injection(url, param, method='GET'):
    """测试SQL注入,细分异常类型"""
    for payload, desc in SQL_PAYLOADS:
        try:
            if method == 'GET':
                test_url = url.replace(f"{param}=", f"{param}={urllib.parse.quote(payload)}")
                r = requests.get(test_url, timeout=5)
            else:
                data = {param: payload}
                r = requests.post(url, data=data, timeout=5)
            
            response_text = r.text.lower()
            for keyword in ERROR_KEYWORDS:
                if keyword in response_text:
                    return True, payload, f"检测到错误关键词: {keyword}"
        except requests.Timeout:
            continue                            # 超时换下一个Payload
        except requests.ConnectionError:
            continue                            # 连接失败换下一个
        except requests.RequestException:
            continue                            # 其他请求异常跳过
        except Exception:
            continue                            # 任何异常不崩溃
    return False, None, None

用法:

# GET请求
python scripts/sql_injection_tester.py "http://your-target.com/page?id=1" id

# POST请求
python scripts/sql_injection_tester.py "http://your-target.com/login" username POST

预期输出:

[*] 测试URL: http://your-target.com/page?id=1
[*] 参数: id (GET)
[+] 发现SQL注入漏洞!
    Payload: ' OR '1'='1
    检测方式: 检测到错误关键词: mysql
    测试URL: http://your-target.com/page?id=%27+OR+%271%27%3D%271

配套字典文件 wordlist.txt

scripts/wordlist.txt 包含 100+ 条 开箱即用的路径:

admin
login
api
robots.txt
.env
config.php
backup
.git
.svn
swagger
phpmyadmin
redis
... (共100+条)

分类覆盖:

  • 后台入口:admin、login、dashboard、manage
  • 配置文件:robots.txt、.env、config.php、.htaccess
  • 备份文件:backup、db.sql、dump、*.bak
  • 源码泄露:.git、.svn、.idea、.DS_Store
  • API文档:swagger、openapi、graphql、api-docs
  • 数据库工具:phpmyadmin、redis、mongo、elasticsearch
  • 调试监控:phpinfo、actuator、debug
  • 上传目录:upload、files、images、attachment

自定义:用文本编辑器打开,每行一个路径,保存后直接运行目录爆破脚本。

用法:

python scripts/dir_bruteforce.py http://your-target.com scripts/wordlist.txt

🆘 遇到问题怎么办(全局排错速查)

本章节解决核心问题:"内容不对会怎么样、该怎么调整、文档没覆盖的问题怎么处理"。

第一步:运行环境自检(90%问题自动定位)

无论遇到什么问题,先运行:

python scripts/check_env.py

这个脚本会自动检测并告诉你:

  • Python版本是否满足要求
  • 哪些模块缺失、怎么安装
  • 网络是否通畅
  • 脚本文件是否完整
  • 权限是否有问题

根据诊断报告中的 [FAIL] 和 [WARN] 项逐一修复即可。

第二步:万能排错流程(任何未知问题)

如果运行了 check_env.py 仍无法解决,或者遇到文档没提到的问题,按以下流程排查:

┌─────────────────────────────────────────────────────┐
│  万能排错流程(适用于任何脚本/环境/报错问题)         │
├─────────────────────────────────────────────────────┤
│  1. 读报错信息 → 看最后一行错误提示是什么             │
│  2. 复制错误 → 粘贴到搜索引擎(百度/谷歌)查找        │
│  3. 检查环境 → 运行 python scripts/check_env.py       │
│  4. 检查依赖 → pip install -r requirements.txt        │
│  5. 简化测试 → 用最简单的命令/参数先跑通              │
│  6. 换环境试 → 换Python版本、换操作系统、换网络       │
│  7. 查看日志 → 脚本输出文件或系统日志                 │
│  8. 隔离变量 → 一次只改一个条件,定位问题根源         │
└─────────────────────────────────────────────────────┘

排查口诀:一读二搜三检查,四装五简六换七看八隔离。

第三步:常见问题速查表

问题 原因 解决方案
某个知识点看不懂 前置知识缺失 回到前一阶段补基础,不要硬啃
环境搭建失败 版本/依赖问题 看下方「环境搭建速查」,或搜错误信息
脚本运行报错 Python版本/模块缺失 python --version 确认版本,缺模块用 pip install xxx
不知道下一步做什么 没有目标感 回到掘金指南,按「快速掘金路线」走
学了很久没成果 方法不对 切换到「掘金模式」,先挖一个漏洞建立信心

第四步:脚本独立FAQ(每个脚本的专属问题)

port_scanner.py(端口扫描器)

问题 原因 解决方案
所有端口都显示开放 目标不可达或防火墙全放行 先用 ping 测试目标是否可达
扫描速度极慢 单线程或超时太长 增加线程数参数,或减小扫描范围
socket.gaierror 域名解析失败 检查DNS设置,或直接用IP地址
扫描结果为空 目标确实没有开放端口,或被防火墙拦截 尝试扫描本地 127.0.0.1 验证脚本正常

dir_bruteforce.py(目录爆破)

问题 原因 解决方案
FileNotFoundError 字典文件路径不对 确认字典文件存在,用绝对路径
全部404但网站能访问 User-Agent被拦截 脚本已内置UA,如仍被拦截加 --header
结果太多(大量200/301) 目标返回软404 用 -s 参数过滤状态码,或手动检查
requests 模块不存在 未安装requests pip install requests

subdomain_enum.py(子域名枚举)

问题 原因 解决方案
ModuleNotFoundError: No module named 'dns' 未安装dnspython pip install dnspython
找不到任何子域名 目标确实没有常见子域名 这是正常结果,说明目标暴露面小
枚举速度很慢 DNS查询有延迟 这是正常的,几百个子域名需要几分钟

sql_injection_tester.py(SQL注入检测)

问题 原因 解决方案
提示"URL没有参数" 传入的URL不带查询参数 提供带 ?id=1 这种参数的URL
全部没发现注入 目标有WAF或确实没有注入 尝试手动测试 ' OR '1'='1 验证
误报(没有注入但报有) 错误关键词匹配太宽泛 手动访问测试URL确认

xss_scanner.py(XSS扫描器)

问题 原因 解决方案
提示"URL没有参数" 反射型XSS需要URL参数 提供带 ?q=test 这种参数的URL
没发现XSS但手动能触发 可能是DOM型XSS 本脚本只检测反射型XSS
误报(payload在响应中但没执行) 可能被转义或编码 手动在浏览器中访问测试URL验证

第五步:如果以上都不行(兜底方案)

如果以上所有方法都无法解决你的问题:

  1. 记录问题:截图或复制完整的报错信息
  2. 记录环境:运行 python scripts/check_env.py 保存输出
  3. 搜索解决:用报错关键词搜索(90%的问题网上已有答案)
  4. 换个角度:尝试用不同的工具或方法达到同样目的
  5. 跳过继续:如果是某个具体工具的问题,先跳过它,学其他内容,回头再解决

💡 记住:网络安全学习中遇到问题是正常的。每个报错都是学习机会。记录问题、搜索解决、下次就会了。

环境搭建失败了?

看下方「环境搭建速查」章节,包含Kali安装、靶场搭建、Python环境配置。

法律边界不清楚?

绝对不能做的(会违法):

  • ❌ 扫描/测试未授权的目标
  • ❌ 在真实业务系统上执行攻击
  • ❌ 传播/出售攻击工具和漏洞利用代码
  • ❌ 获取数据后泄露或出售

可以安全做的:

  • ✅ 在SRC平台列出的资产范围内测试
  • ✅ 使用DVWA/Pikachu/vulhub等授权靶场
  • ✅ 测试自己拥有的系统
  • ✅ 参加CTF竞赛

🛠️ 环境搭建速查

Python环境配置

# Windows 安装Python 3.x
# 1. 官网下载: python.org/downloads
# 2. 安装时勾选 "Add Python to PATH"
# 3. 验证安装
python --version
pip --version

# 安装常用模块
pip install requests beautifulsoup4 lxml python-nmap paramiko

Kali Linux 安装(Windows子系统WSL)

# 启用WSL
wsl --install
# 安装Kali
wsl --install -d kali-linux
# 进入Kali
wsl -d kali-linux
# 更新系统
sudo apt update && sudo apt upgrade -y

Burp Suite 安装

1. 下载: portswigger.net/burp/communitydownload
2. 安装Java JDK 11+
3. 启动Burp,配置浏览器代理: 127.0.0.1:8080
4. 安装CA证书(抓HTTPS必须)

靶场环境搭建

DVWA(Web漏洞靶场):

# 用Docker一键启动
docker run -d -p 80:80 vulnerables/web-dvwa
# 访问 http://localhost,默认账号 admin/password

Pikachu(中文漏洞靶场):

# GitHub下载
https://github.com/zhuifengshaonianhanlu/pikachu
# 按README配置PHP+MySQL环境

Vulhub(漏洞复现环境):

git clone https://github.com/vulhub/vulhub.git
cd vulhub/struts2/s2-045  # 以Struts2为例
docker-compose up -d

脚本无法运行?

# PowerShell执行策略限制?执行这条解除限制
Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope CurrentUser

# 脚本路径含中文报错?
# 把脚本复制到英文路径(如 C:tools)再运行

学习路径总览

学完能挖:越权/信息泄露(低危→中危)
            ↓
阶段1: 法律基础 → 阶段2: 计算机基础 → 阶段3: Python编程
       ↓                                    ↓
  🎯新手禁止动手                          🎯写自动化挖洞脚本
            ↓
阶段4: Kali Linux → 阶段5: Metasploit → 阶段6: Web安全
       ↓                                    ↓
  🎯工具扫描拿低危漏洞                   🎯SQL注入/XSS拿中高危漏洞
            ↓
阶段7: 渗透测试 → 阶段8: 靶场练手 → 阶段9: 护网攻防
       ↓                                    ↓
  🎯完整渗透拿高危                      🎯练手后去SRC实战
            ↓
阶段10: CTF竞赛 → 阶段11: 漏洞挖掘 → 阶段12: 内网渗透
       ↓                                    ↓
  🎯练手技巧                            🎯SRC持续掘金
            ↓
阶段13: 企业安全 → 阶段14: 云安全 → 阶段15: 面试就业
       ↓
  🎯进阶高薪岗位

💡 快速掘金路线:如果你已经有基础,直接跳到阶段6(Web安全)→ 阶段11(漏洞挖掘),这两个阶段是掘金核心。

阶段1: 刑法与网络安全法

学习目标

建立合法合规的网络安全学习框架,明确红线边界。

核心内容

《中华人民共和国网络安全法》要点:

  • 第27条:禁止非法侵入他人网络、干扰他人网络正常功能
  • 第28条:禁止提供专门用于侵入、非法控制网络的程序、工具
  • 第63条:个人违法责任(行政拘留、罚款)
  • 第64条:从重处罚情形

《刑法》相关条款:

  • 第285条:非法侵入计算机信息系统罪
  • 第285条第2款:非法获取计算机信息系统数据罪
  • 第285条第3款:提供侵入、非法控制计算机信息系统程序、工具罪
  • 第286条:破坏计算机信息系统罪

合法学习边界:

  • ✅ 自有系统测试
  • ✅ 授权靶场练习(DVWA、Pikachu、vulhub)
  • ✅ 漏洞平台提交(教育漏洞、公益漏洞、企业SRC)
  • ✅ CTF竞赛
  • ❌ 未授权扫描/入侵
  • ❌ 传播攻击工具
  • ❌ 泄露敏感数据

🎯 实战掘金

本阶段禁止动手挖漏洞! 先懂法才能安全掘金。

学完本章你能:

  • ✅ 明确合法边界,避免踩红线
  • ✅ 知道哪些平台可以提交漏洞(CNVD、企业SRC)
  • ✅ 了解提交漏洞的正确流程,避免法律风险

掘金准备清单(学完阶段1可以做):

  1. 注册腾讯TSRC账号(security.tencent.com)
  2. 仔细阅读平台的《漏洞提交规范》和《奖励规则》
  3. 了解哪些漏洞类型平台接受、哪些不接受
  4. 记住:只测试平台列出的资产范围内的目标

⚠️ 警告:未授权测试 = 违法。只在SRC平台授权范围内测试!

⚠️ 常见问题与排错

问题 解答
测试朋友网站算违法吗? 只要对方明确授权就不违法,口头同意也算,但最好有书面/聊天记录
CTF比赛中的攻击算违法吗? 不算,CTF是授权环境,但比赛结束后不能继续攻击
在SRC平台挖漏洞会被起诉吗? 不会,只要按平台规则提交,平台会保护白帽子
发现漏洞但没提交,自己留着算违法吗? 不算违法,但如果利用漏洞做坏事就算
扫描公网IP算违法吗? 灰色地带,建议只扫描SRC平台列出的资产

法律边界速查:

✅ 安全的:自有系统测试、授权靶场、SRC平台、CTF竞赛
⚠️ 灰色:公网端口扫描(一般不追究,但不建议)
❌ 违法的:未授权入侵、数据窃取、工具传播、勒索攻击

学习资源

  • 参考文件:references/01_legal_basics.md(详细法律条文与案例分析)

阶段2: 计算机基础

学习目标

掌握计算机网络、操作系统、数据库的核心原理。

2.1 计算机网络

OSI七层模型与TCP/IP四层模型:

应用层 (HTTP/HTTPS/DNS/DHCP)
传输层 (TCP/UDP)
网络层 (IP/ICMP/ARP)
网络接口层 (Ethernet/VLAN)

核心协议深度理解:

  • TCP三次握手/四次挥手
  • HTTP/HTTPS请求响应流程
  • DNS解析过程
  • ARP协议与ARP欺骗原理

网络设备:

  • 路由器、交换机、防火墙工作原理
  • 子网划分与CIDR
  • 常见端口与服务(21/FTP, 22/SSH, 80/HTTP, 443/HTTPS, 3306/MySQL)

2.2 操作系统

Linux基础(重点):

# 文件权限
chmod 755 file.sh
chown user:group file.txt

# 进程管理
ps aux | grep process
kill -9 PID
top / htop

# 网络排查
netstat -tulnp
ss -tulnp
tcpdump -i eth0 port 80

# 日志分析
tail -f /var/log/auth.log
grep "Failed" /var/log/secure

Windows基础:

  • 注册表结构
  • 服务管理(services.msc)
  • 组策略(gpedit.msc)
  • PowerShell基础

2.3 数据库

SQL语言核心:

-- 查询
SELECT * FROM users WHERE id=1;

-- 注入点测试
SELECT * FROM users WHERE username='admin' AND password='' OR '1'='1';

-- 联合查询
SELECT * FROM users UNION SELECT 1,2,3;

常见数据库:

  • MySQL/MariaDB
  • PostgreSQL
  • SQL Server
  • Redis(NoSQL)

🎯 实战掘金

学完本章你可以:

  • 理解Web应用的网络结构,找到攻击面
  • 识别目标使用了什么数据库(影响注入方式)
  • 理解HTTP请求流程(对挖XSS、CSRF、越权至关重要)

掘金相关知识点:

知识点 → 能挖的漏洞
─────────────────────────────
HTTP请求/响应流程 → XSS、CSRF、越权
HTTP头部结构 → Host头注入、CRLF注入
Cookie/Session机制 → 会话固定、越权
SQL语法 → SQL注入(最主要掘金手段)
Linux命令 → 日志分析、后渗透
端口与服务 → 信息泄露(开放不必要的端口)

现阶段可以做的掘金准备:

  1. 安装Burp Suite(抓包改包工具,掘金必备)
  2. 学会看HTTP请求/响应头
  3. 理解Cookie和Session的区别

学习资源

  • 参考文件:references/02_computer_basics.md(详细命令与实验)

阶段3: Python编程

学习目标

掌握Python基础语法,能够编写爬虫和端口扫描脚本。

3.1 Python基础语法

核心语法:

# 变量与数据类型
name = "Alice"
age = 25
skills = ["Python", "Linux", "Web安全"]

# 控制流
if port == 80:
    print("HTTP服务")
elif port == 443:
    print("HTTPS服务")
else:
    print("其他服务")

# 函数
def port_scan(target, port):
    # 端口扫描逻辑
    pass

3.2 爬虫编写

Requests + BeautifulSoup 示例:

import requests
from bs4 import BeautifulSoup

url = "http://example.com"
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')

# 提取所有链接
links = soup.find_all('a')
for link in links:
    print(link.get('href'))

Scrapy框架基础:

import scrapy

class MySpider(scrapy.Spider):
    name = 'myspider'
    start_urls = ['http://example.com']

    def parse(self, response):
        yield {
            'title': response.css('h1::text').get(),
            'link': response.url
        }

3.3 端口扫描脚本

Socket端口扫描器:

import socket
import threading
from queue import Queue

def port_scan(target, port):
    try:
        sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        sock.settimeout(1)
        result = sock.connect_ex((target, port))
        if result == 0:
            print(f"[+] 端口 {port} 开放")
        sock.close()
    except:
        pass

def scan_ports(target, start_port, end_port):
    for port in range(start_port, end_port + 1):
        t = threading.Thread(target=port_scan, args=(target, port))
        t.start()

# 使用
scan_ports("192.168.1.1", 1, 1024)

使用Nmap库:

import nmap

nm = nmap.PortScanner()
nm.scan('192.168.1.0/24', '22-443')
for host in nm.all_hosts():
    print(f"主机: {host}, 状态: {nm[host].state()}")

🎯 实战掘金

学完本章你可以编写自动化挖洞脚本,批量扫描目标!

掘金脚本方向:

脚本类型 能挖的漏洞 预计产出
子域名枚举脚本 发现更多攻击面 低危信息泄露
端口扫描脚本 发现开放的不必要服务 低危信息泄露
目录爆破脚本 发现后台/敏感路径 低危信息泄露
SQL注入检测脚本 批量检测注入点 中危→高危
XSS检测脚本 批量检测XSS点 低危→中危

实战:编写你的第一个掘金脚本

# dir_bruteforce.py - 目录爆破(已包含在scripts/中)
# 用法:python dir_bruteforce.py https://target.com wordlist.txt

# 这个脚本可以帮你快速发现:
# - 后台登录页(/admin、/manager)
# - 敏感文件(/robots.txt、/sitemap.xml)
# - 备份文件(/backup、/db.sql)
# 这些都是低危漏洞,但累积起来也是收入!

现阶段掘金行动:

  1. 用Python写一个子域名枚举脚本(发现SRC平台的边缘资产)
  2. 用Python写一个目录爆破脚本(跑SRC目标的敏感路径)
  3. 把发现的有价值路径整理成报告提交

💡 掘金技巧:很多SRC的高危漏洞,都是从「目录爆破发现敏感路径」开始的!

⚠️ 常见问题与排错

问题 原因 解决方案
ModuleNotFoundError: No module named 'requests' 模块未安装 pip install requests
SyntaxError 语法错误 缩进或括号不匹配 检查缩进(4个空格),检查括号闭合
脚本运行无结果 目标不可达或被防火墙拦截 ping target_ip 测试连通性
端口扫描太慢 单线程 用多线程或Nmap库:pip install python-nmap
Python版本太旧 安装了Python 2.x 重新安装Python 3.8+,确认 python --version

脚本调试技巧:

# 加打印语句定位问题
print(f"正在扫描: {target}:{port}")

# 用try-except捕获异常
try:
    response = requests.get(url, timeout=5)
except Exception as e:
    print(f"请求失败: {e}")

学习资源

  • 参考文件:references/03_python_practice.md(完整代码示例)
  • 脚本:scripts/port_scanner.py(端口扫描脚本模板)
  • 脚本:scripts/dir_bruteforce.py(目录爆破脚本模板)
  • 配套文件:scripts/wordlist.txt(目录爆破字典,开箱即用)
  • 脚本:scripts/xss_scanner.py(XSS漏洞扫描器)
  • 脚本:scripts/sql_injection_tester.py(SQL注入检测器)
  • 脚本:scripts/subdomain_enum.py(子域名枚举器)
  • 脚本:scripts/check_env.py(环境自检,运行前先检测)

阶段4: Kali Linux

学习目标

掌握Kali Linux安装配置,熟悉常用工具。

4.1 系统安装

虚拟机安装(推荐):

  • VMware Workstation / VirtualBox
  • 分配资源:内存4GB+,硬盘50GB+,网络桥接/NAT
  • 下载官方ISO:https://www.kali.org/get-kali/

WSL2安装(Windows):

wsl --install -d Kali-Linux

4.2 环境配置

基础配置:

# 更新系统
sudo apt update && sudo apt full-upgrade -y

# 安装常用工具
sudo apt install -y vim net-tools nmap masscan gobuster

# 配置静态IP(根据需要)
sudo nano /etc/network/interfaces

权限管理:

# 添加普通用户
sudo adduser hacker
sudo usermod -aG sudo hacker

# 禁用root远程登录
sudo passwd -l root

4.3 常用工具分类

信息收集:

  • Nmap:端口扫描

相关专题

更多
Gradle插件开发入门教程
Gradle插件开发入门教程

本专题介绍Gradle插件开发的基本流程,涵盖插件类编写、自定义任务注册、扩展参数设计和插件应用方法,帮助你理解插件如何组织构建逻辑,减少多个项目之间的重复配置。

2026.10.22

0

11

Gradle Wrapper配置教程
Gradle Wrapper配置教程

本专题介绍Gradle Wrapper的基本作用,涵盖文件组成、生成方法、版本配置和任务调用,帮助你理解项目如何使用指定的Gradle版本,减少不同开发环境带来的构建差异。

2026.10.22

0

10

Golangci-lint检查器使用教程
Golangci-lint检查器使用教程

本专题整理Golangci-lint常用Linters的用途与配置方法,覆盖错误处理、无效代码、安全、复杂度、命名和依赖检查,帮助项目合理选规则。

2026.10.22

0

15

Gradle怎么构建Java项目
Gradle怎么构建Java项目

本专题介绍Gradle Java项目构建方法,涵盖Java插件配置、依赖声明、源码编译、测试执行和打包检查,帮助你理解各阶段的任务关系,逐步完成项目构建。

2026.10.22

0

10

PHP时间戳漏洞修复教程
PHP时间戳漏洞修复教程

本专题汇总PHP常见时间戳漏洞,包括2038年溢出、时区漂移、时间戳伪造、重放攻击、时间盲注与日志审计失效等,并给出升级64位环境、使用 DateTimeImmutable、统一UTC、严格超时校验、预处理绑定、hash_equals 比对等修复方案,帮助开发者快速排查和加固时间相关代码。

2026.10.22

0

25

Golangci-lint配置文件与规则设置
Golangci-lint配置文件与规则设置

本专题聚焦Golangci-lint YAML配置文件,讲清运行参数、规则启停、目录排除、问题过滤及严重级别设置,便于团队统一检查标准。

2026.10.22

0

15

Golangci-lint安装与入门教程
Golangci-lint安装与入门教程

本专题讲解Golangci-lint的安装、初始化、基础命令和首次代码检查,覆盖本地环境、Docker及多平台用法,帮助Go开发者快速上手。

2026.10.22

0

15

PHP2Shell高危漏洞修复教程
PHP2Shell高危漏洞修复教程

PHP2Shell漏洞是什么,哪些PHP版本和运行环境会受到影响,服务器应该如何检测与修复?本专题提供版本自查脚本、Linux与Docker升级命令、PHP-FPM和Apache排查步骤,以及修复验证、临时缓解和应急响应方案。

2026.10.22

0

12

剧云人物设定与关系管理教程
剧云人物设定与关系管理教程

本专题介绍剧云人物设定与关系管理,讲解角色小传、性格职业、人物目标、背景资料和关系网络的创建及维护方法。

2026.10.22

0

16

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.7万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 133.9万人学习