网络安全与SRC漏洞掘金实战技能。融合「系统学习路径」与「SRC实战掘金」双模式: ①学习模式=法律→基础→工具→靶场→攻防→就业全流程; ②实战模式=直接指导在腾讯TSRC、阿里ASRC、百度BSRC等平台挖掘高价值漏洞变现。 当用户提出以下问题时触发: "我想学网络安全怎么入门""SRC漏洞怎么挖能赚钱""渗透测试需要学什么" "Web安全漏洞原理是什么""怎么准备CTF比赛""护网面试会问什
网络安全攻防与SRC掘金技能是一项面向实际任务的技能,主要用于🔷 两种使用模式;📚 学习模式 (系统入门);
跳过学习,直接看「各阶段🎯实战掘金」板块,告诉你当前能挖什么漏洞、去哪个平台、奖金多少;适合:有基础想变现、急于副业收入;🚀 快速开始(3步上手);遇到问题先运行环境自检,90%的问题都能自动诊断出来。它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。
从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。
📚 学习模式(系统入门)
按阶段1→15循序渐进,零基础到就业全流程。适合:在校学习、在职转岗、零基础入门。
💰 掘金模式(直接赚钱)
跳过学习,直接看「各阶段🎯实战掘金」板块,告诉你当前能挖什么漏洞、去哪个平台、奖金多少。适合:有基础想变现、急于副业收入。
遇到问题先运行环境自检,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个阶段学习文档这部分是技能的核心价值——学完能用,用完能赚钱。
| 平台 | 网址 | 奖金范围 | 结算速度 | 难度 | 推荐指数 |
|---|---|---|---|---|---|
| 腾讯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具有时效性,且涉及法律风险 | 本技能教挖洞方法,让你自己发现漏洞 |
| 保证奖金数额 | 奖金由平台根据漏洞危害评估决定 | 按本技能的方法论提高报告质量,间接提升奖金 |
| 一键生成高质量报告 | 报告需要针对具体漏洞写详细复现步骤 | 本技能提供报告模板,需你填入具体内容 |
✅ 适合:
❌ 不适合:
本技能提供 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+条 |
功能:自动检测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 文件存在 ======================================== 诊断结果: 环境正常,可以开始使用
功能:多线程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 ============================================================
功能:多线程目录/文件爆破,内置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 个有效路径
功能:多线程子域名枚举,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 个有效子域名
功能:自动注入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在响应中未编码反射
功能: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
scripts/wordlist.txt 包含 100+ 条 开箱即用的路径:
admin login api robots.txt .env config.php backup .git .svn swagger phpmyadmin redis ... (共100+条)
分类覆盖:
自定义:用文本编辑器打开,每行一个路径,保存后直接运行目录爆破脚本。
用法:
python scripts/dir_bruteforce.py http://your-target.com scripts/wordlist.txt
本章节解决核心问题:"内容不对会怎么样、该怎么调整、文档没覆盖的问题怎么处理"。
无论遇到什么问题,先运行:
python scripts/check_env.py
这个脚本会自动检测并告诉你:
根据诊断报告中的 [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 |
| 不知道下一步做什么 | 没有目标感 | 回到掘金指南,按「快速掘金路线」走 |
| 学了很久没成果 | 方法不对 | 切换到「掘金模式」,先挖一个漏洞建立信心 |
| 问题 | 原因 | 解决方案 |
|---|---|---|
| 所有端口都显示开放 | 目标不可达或防火墙全放行 | 先用 ping 测试目标是否可达 |
| 扫描速度极慢 | 单线程或超时太长 | 增加线程数参数,或减小扫描范围 |
socket.gaierror |
域名解析失败 | 检查DNS设置,或直接用IP地址 |
| 扫描结果为空 | 目标确实没有开放端口,或被防火墙拦截 | 尝试扫描本地 127.0.0.1 验证脚本正常 |
| 问题 | 原因 | 解决方案 |
|---|---|---|
FileNotFoundError |
字典文件路径不对 | 确认字典文件存在,用绝对路径 |
| 全部404但网站能访问 | User-Agent被拦截 | 脚本已内置UA,如仍被拦截加 --header |
| 结果太多(大量200/301) | 目标返回软404 | 用 -s 参数过滤状态码,或手动检查 |
requests 模块不存在 |
未安装requests | pip install requests |
| 问题 | 原因 | 解决方案 |
|---|---|---|
ModuleNotFoundError: No module named 'dns' |
未安装dnspython | pip install dnspython |
| 找不到任何子域名 | 目标确实没有常见子域名 | 这是正常结果,说明目标暴露面小 |
| 枚举速度很慢 | DNS查询有延迟 | 这是正常的,几百个子域名需要几分钟 |
| 问题 | 原因 | 解决方案 |
|---|---|---|
| 提示"URL没有参数" | 传入的URL不带查询参数 | 提供带 ?id=1 这种参数的URL |
| 全部没发现注入 | 目标有WAF或确实没有注入 | 尝试手动测试 ' OR '1'='1 验证 |
| 误报(没有注入但报有) | 错误关键词匹配太宽泛 | 手动访问测试URL确认 |
| 问题 | 原因 | 解决方案 |
|---|---|---|
| 提示"URL没有参数" | 反射型XSS需要URL参数 | 提供带 ?q=test 这种参数的URL |
| 没发现XSS但手动能触发 | 可能是DOM型XSS | 本脚本只检测反射型XSS |
| 误报(payload在响应中但没执行) | 可能被转义或编码 | 手动在浏览器中访问测试URL验证 |
如果以上所有方法都无法解决你的问题:
python scripts/check_env.py 保存输出💡 记住:网络安全学习中遇到问题是正常的。每个报错都是学习机会。记录问题、搜索解决、下次就会了。
看下方「环境搭建速查」章节,包含Kali安装、靶场搭建、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
# 启用WSL wsl --install # 安装Kali wsl --install -d kali-linux # 进入Kali wsl -d kali-linux # 更新系统 sudo apt update && sudo apt upgrade -y
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可以做):
⚠️ 警告:未授权测试 = 违法。只在SRC平台授权范围内测试!
| 问题 | 解答 |
|---|---|
| 测试朋友网站算违法吗? | 只要对方明确授权就不违法,口头同意也算,但最好有书面/聊天记录 |
| CTF比赛中的攻击算违法吗? | 不算,CTF是授权环境,但比赛结束后不能继续攻击 |
| 在SRC平台挖漏洞会被起诉吗? | 不会,只要按平台规则提交,平台会保护白帽子 |
| 发现漏洞但没提交,自己留着算违法吗? | 不算违法,但如果利用漏洞做坏事就算 |
| 扫描公网IP算违法吗? | 灰色地带,建议只扫描SRC平台列出的资产 |
法律边界速查:
✅ 安全的:自有系统测试、授权靶场、SRC平台、CTF竞赛 ⚠️ 灰色:公网端口扫描(一般不追究,但不建议) ❌ 违法的:未授权入侵、数据窃取、工具传播、勒索攻击
references/01_legal_basics.md(详细法律条文与案例分析)掌握计算机网络、操作系统、数据库的核心原理。
OSI七层模型与TCP/IP四层模型:
应用层 (HTTP/HTTPS/DNS/DHCP) 传输层 (TCP/UDP) 网络层 (IP/ICMP/ARP) 网络接口层 (Ethernet/VLAN)
核心协议深度理解:
网络设备:
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基础:
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;
常见数据库:
学完本章你可以:
掘金相关知识点:
知识点 → 能挖的漏洞 ───────────────────────────── HTTP请求/响应流程 → XSS、CSRF、越权 HTTP头部结构 → Host头注入、CRLF注入 Cookie/Session机制 → 会话固定、越权 SQL语法 → SQL注入(最主要掘金手段) Linux命令 → 日志分析、后渗透 端口与服务 → 信息泄露(开放不必要的端口)
现阶段可以做的掘金准备:
references/02_computer_basics.md(详细命令与实验)掌握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
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
}
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) # 这些都是低危漏洞,但累积起来也是收入!
现阶段掘金行动:
💡 掘金技巧:很多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(环境自检,运行前先检测)掌握Kali Linux安装配置,熟悉常用工具。
虚拟机安装(推荐):
WSL2安装(Windows):
wsl --install -d Kali-Linux
基础配置:
# 更新系统 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
信息收集:
相关专题
热门下载
相关下载
精品课程
共6课时 | 54.7万人学习
共89课时 | 133.9万人学习
共49课时 | 82.5万人学习