网络安全与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验证 |
第五步:如果以上都不行(兜底方案)
如果以上所有方法都无法解决你的问题:
- 记录问题:截图或复制完整的报错信息
- 记录环境:运行
python scripts/check_env.py保存输出 - 搜索解决:用报错关键词搜索(90%的问题网上已有答案)
- 换个角度:尝试用不同的工具或方法达到同样目的
- 跳过继续:如果是某个具体工具的问题,先跳过它,学其他内容,回头再解决
💡 记住:网络安全学习中遇到问题是正常的。每个报错都是学习机会。记录问题、搜索解决、下次就会了。
环境搭建失败了?
看下方「环境搭建速查」章节,包含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可以做):
- 注册腾讯TSRC账号(security.tencent.com)
- 仔细阅读平台的《漏洞提交规范》和《奖励规则》
- 了解哪些漏洞类型平台接受、哪些不接受
- 记住:只测试平台列出的资产范围内的目标
⚠️ 警告:未授权测试 = 违法。只在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命令 → 日志分析、后渗透 端口与服务 → 信息泄露(开放不必要的端口)
现阶段可以做的掘金准备:
- 安装Burp Suite(抓包改包工具,掘金必备)
- 学会看HTTP请求/响应头
- 理解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) # 这些都是低危漏洞,但累积起来也是收入!
现阶段掘金行动:
- 用Python写一个子域名枚举脚本(发现SRC平台的边缘资产)
- 用Python写一个目录爆破脚本(跑SRC目标的敏感路径)
- 把发现的有价值路径整理成报告提交
💡 掘金技巧:很多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:端口扫描
热门AI工具
相关专题
本专题介绍Gradle插件开发的基本流程,涵盖插件类编写、自定义任务注册、扩展参数设计和插件应用方法,帮助你理解插件如何组织构建逻辑,减少多个项目之间的重复配置。
0
2026.10.22
本专题介绍Gradle Wrapper的基本作用,涵盖文件组成、生成方法、版本配置和任务调用,帮助你理解项目如何使用指定的Gradle版本,减少不同开发环境带来的构建差异。
0
2026.10.22
本专题整理Golangci-lint常用Linters的用途与配置方法,覆盖错误处理、无效代码、安全、复杂度、命名和依赖检查,帮助项目合理选规则。
0
2026.10.22
本专题介绍Gradle Java项目构建方法,涵盖Java插件配置、依赖声明、源码编译、测试执行和打包检查,帮助你理解各阶段的任务关系,逐步完成项目构建。
0
2026.10.22
本专题汇总PHP常见时间戳漏洞,包括2038年溢出、时区漂移、时间戳伪造、重放攻击、时间盲注与日志审计失效等,并给出升级64位环境、使用 DateTimeImmutable、统一UTC、严格超时校验、预处理绑定、hash_equals 比对等修复方案,帮助开发者快速排查和加固时间相关代码。
0
2026.10.22
本专题聚焦Golangci-lint YAML配置文件,讲清运行参数、规则启停、目录排除、问题过滤及严重级别设置,便于团队统一检查标准。
0
2026.10.22
本专题讲解Golangci-lint的安装、初始化、基础命令和首次代码检查,覆盖本地环境、Docker及多平台用法,帮助Go开发者快速上手。
0
2026.10.22
PHP2Shell漏洞是什么,哪些PHP版本和运行环境会受到影响,服务器应该如何检测与修复?本专题提供版本自查脚本、Linux与Docker升级命令、PHP-FPM和Apache排查步骤,以及修复验证、临时缓解和应急响应方案。
0
2026.10.22
热门下载
相关下载
精品课程
共6课时 | 12.1万人学习
共79课时 | 161.5万人学习
共6课时 | 54.7万人学习
