一、Web 基础认知1.1 概念Web全称为World Wide Web万维网是构建在互联网之上的全球性信息服务体系。其本质是以超链接为纽带、以标准化协议为支撑的分布式信息交互网络。 关键区分Web ≠ 互联网互联网底层通信基础设施硬件 TCP/IP 协议负责数据传输。Web运行在互联网之上的应用层服务依靠 HTTP/HTML 实现信息展示与交互。1.2 Web 三层技术架构几乎所有现代 Web 应用都采用客户端 服务端 存储端三层架构1客户端浏览器、爬虫、POC 脚本。 技术HTML、CSS、JS。2Web 服务端Nginx、Apache、Tomcat、IIS。3存储端MySQL、Oracle、Redis、MongoDB。二、渗透测试核心知识2.1 什么是渗透测试合法授权 → 模拟黑客攻击 → 发现漏洞 → 验证危害 → 输出加固方案 核心思想以攻促防。2.2 渗透测试标准流程前期准备信息收集漏洞探测漏洞利用后渗透报告输出2.3 三大测试类型黑盒无信息白盒全信息灰盒部分信息企业最常用2.4 渗透测试方法信息收集、漏洞扫描、提权、横向移动、社工等。三、渗透测试基础WebShell一句话木马PHPphp运行?php eval($_POST[pass]); ?功能接收 POST 数据 → 执行代码 → 控制服务器。工具蚁剑、冰蝎、哥斯拉、菜刀。四、渗透测试基础数据库与 SQLSQL 四大类DDL定义结构DML增删改查DCL权限管理TCL事务SQL 注入是 Web 最高危漏洞之一。五、Web 高危漏洞精讲CSRF 与 SSRF5.1 CSRF 跨站请求伪造 攻击流程示意图文字版plaintext用户已登录网站A → Cookie 保存 ↓ 用户被诱导打开恶意页面B ↓ 页面B自动向A发送伪造请求 ↓ 浏览器自动带Cookie → 服务器执行操作 ↓ 密码被改 / 转账成功原理攻击者冒用已登录用户身份在用户无感知下执行非法操作。一句话借你的身份干坏事。漏洞成因仅靠 Cookie 认证无 Token、无验证码、无来源校验请求可自动构造GET 型 Payloadhtml预览img srchttp://test.com/edit.php?new_pwd123456 width0 height0POST 型 Payloadhtml预览form actionhttp://test.com/post.php methodPOST idf input typehidden nameusername valueadmin /form scriptdocument.getElementById(f).submit()/script防御CSRF Token验证码Referer 校验SameSite Cookie5.2 SSRF 服务器端请求伪造 攻击流程示意图文字版plaintext攻击者提交恶意URL ↓ 服务器接收并发起请求 ↓ 服务器访问内网/本机/文件 ↓ 返回敏感信息/端口/服务 ↓ 内网被探测、文件被读取、主机被攻击原理攻击者让服务器替自己发送请求从而穿透防火墙、访问内网。一句话让服务器帮你攻击内网。漏洞成因服务端支持 URL 加载未限制 IP、协议、域名服务器可访问内外网SSRF Payloadplaintexthttp://127.0.0.1:8080 http://192.168.1.1:3306 file://C:/Windows/System32/drivers/etc/hosts gopher://127.0.0.1:6379/_set 1 2防御仅允许 HTTP/HTTPS禁止内网 IP域名白名单禁止 302 跳转六、CSRF vs SSRF 对比表表格对比项CSRFSSRF攻击位置客户端浏览器服务端利用身份用户身份服务器权限攻击目标前台业务内网、本机、文件危害越权、数据篡改内网渗透、信息泄露防御Token、验证码IP 限制、协议过滤七、课后练习提升分神器一、选择题以下哪种漏洞是冒用用户身份执行请求 A. SSRF B. CSRF C. SQL 注入 D. XSSSSRF 攻击利用的是 A. 用户浏览器权限 B. 服务器权限 C. 数据库权限 D. 客户端权限下列哪个属于 SSRF 防御手段 A. 验证码 B. Token C. 禁止内网 IP D. Referer 校验二、简答题简述 CSRF 攻击的完整流程。简述 SSRF 攻击的原理与危害。写出一段最简单的 PHP 一句话木马。写出一个可读取 Windows hosts 文件的 SSRF Payload。三、实验题使用 DVWA 搭建 CSRF 环境并复现 GET 型漏洞。使用 DVWA 搭建 SSRF 环境读取本机文件与端口扫描。八、实验思考题高分必备为什么 CSRF 不需要注入 JS 也能攻击答利用浏览器自动携带 Cookie 的机制。为什么 SSRF 可以访问内网答服务器通常拥有内网访问权限攻击者让服务器代为请求。CSRF 与 SSRF 最大的区别是什么答CSRF 攻击客户端、冒用用户SSRF 攻击服务端、访问内网。如何快速判断一个网站是否存在 SSRF答观察是否存在?url、?image、?path等可传入链接的参数。九、易错点总结老师最爱考CSRF 必须要求用户已登录。SSRF 不依赖用户登录直接利用服务器权限。CSRF 防御核心是Token。SSRF 防御核心是IP 限制 协议过滤。CSRF 属于客户端漏洞SSRF 属于服务端漏洞。十、最终总结Web 安全漏洞的本质输入不校验、权限不控制、配置不安全、访问不限制。渗透测试学习路线 Web 基础 → 漏洞原理 → 手工实战 → 工具使用 → 内网渗透 → 加固防御CSRF 与 SSRF 是 OWASP Top 10 必考高频漏洞必须掌握原理、利用、防御三要素。
Web 安全:渗透测试(完整版・含 CSRF/SSRF 漏洞精讲)
一、Web 基础认知1.1 概念Web全称为World Wide Web万维网是构建在互联网之上的全球性信息服务体系。其本质是以超链接为纽带、以标准化协议为支撑的分布式信息交互网络。 关键区分Web ≠ 互联网互联网底层通信基础设施硬件 TCP/IP 协议负责数据传输。Web运行在互联网之上的应用层服务依靠 HTTP/HTML 实现信息展示与交互。1.2 Web 三层技术架构几乎所有现代 Web 应用都采用客户端 服务端 存储端三层架构1客户端浏览器、爬虫、POC 脚本。 技术HTML、CSS、JS。2Web 服务端Nginx、Apache、Tomcat、IIS。3存储端MySQL、Oracle、Redis、MongoDB。二、渗透测试核心知识2.1 什么是渗透测试合法授权 → 模拟黑客攻击 → 发现漏洞 → 验证危害 → 输出加固方案 核心思想以攻促防。2.2 渗透测试标准流程前期准备信息收集漏洞探测漏洞利用后渗透报告输出2.3 三大测试类型黑盒无信息白盒全信息灰盒部分信息企业最常用2.4 渗透测试方法信息收集、漏洞扫描、提权、横向移动、社工等。三、渗透测试基础WebShell一句话木马PHPphp运行?php eval($_POST[pass]); ?功能接收 POST 数据 → 执行代码 → 控制服务器。工具蚁剑、冰蝎、哥斯拉、菜刀。四、渗透测试基础数据库与 SQLSQL 四大类DDL定义结构DML增删改查DCL权限管理TCL事务SQL 注入是 Web 最高危漏洞之一。五、Web 高危漏洞精讲CSRF 与 SSRF5.1 CSRF 跨站请求伪造 攻击流程示意图文字版plaintext用户已登录网站A → Cookie 保存 ↓ 用户被诱导打开恶意页面B ↓ 页面B自动向A发送伪造请求 ↓ 浏览器自动带Cookie → 服务器执行操作 ↓ 密码被改 / 转账成功原理攻击者冒用已登录用户身份在用户无感知下执行非法操作。一句话借你的身份干坏事。漏洞成因仅靠 Cookie 认证无 Token、无验证码、无来源校验请求可自动构造GET 型 Payloadhtml预览img srchttp://test.com/edit.php?new_pwd123456 width0 height0POST 型 Payloadhtml预览form actionhttp://test.com/post.php methodPOST idf input typehidden nameusername valueadmin /form scriptdocument.getElementById(f).submit()/script防御CSRF Token验证码Referer 校验SameSite Cookie5.2 SSRF 服务器端请求伪造 攻击流程示意图文字版plaintext攻击者提交恶意URL ↓ 服务器接收并发起请求 ↓ 服务器访问内网/本机/文件 ↓ 返回敏感信息/端口/服务 ↓ 内网被探测、文件被读取、主机被攻击原理攻击者让服务器替自己发送请求从而穿透防火墙、访问内网。一句话让服务器帮你攻击内网。漏洞成因服务端支持 URL 加载未限制 IP、协议、域名服务器可访问内外网SSRF Payloadplaintexthttp://127.0.0.1:8080 http://192.168.1.1:3306 file://C:/Windows/System32/drivers/etc/hosts gopher://127.0.0.1:6379/_set 1 2防御仅允许 HTTP/HTTPS禁止内网 IP域名白名单禁止 302 跳转六、CSRF vs SSRF 对比表表格对比项CSRFSSRF攻击位置客户端浏览器服务端利用身份用户身份服务器权限攻击目标前台业务内网、本机、文件危害越权、数据篡改内网渗透、信息泄露防御Token、验证码IP 限制、协议过滤七、课后练习提升分神器一、选择题以下哪种漏洞是冒用用户身份执行请求 A. SSRF B. CSRF C. SQL 注入 D. XSSSSRF 攻击利用的是 A. 用户浏览器权限 B. 服务器权限 C. 数据库权限 D. 客户端权限下列哪个属于 SSRF 防御手段 A. 验证码 B. Token C. 禁止内网 IP D. Referer 校验二、简答题简述 CSRF 攻击的完整流程。简述 SSRF 攻击的原理与危害。写出一段最简单的 PHP 一句话木马。写出一个可读取 Windows hosts 文件的 SSRF Payload。三、实验题使用 DVWA 搭建 CSRF 环境并复现 GET 型漏洞。使用 DVWA 搭建 SSRF 环境读取本机文件与端口扫描。八、实验思考题高分必备为什么 CSRF 不需要注入 JS 也能攻击答利用浏览器自动携带 Cookie 的机制。为什么 SSRF 可以访问内网答服务器通常拥有内网访问权限攻击者让服务器代为请求。CSRF 与 SSRF 最大的区别是什么答CSRF 攻击客户端、冒用用户SSRF 攻击服务端、访问内网。如何快速判断一个网站是否存在 SSRF答观察是否存在?url、?image、?path等可传入链接的参数。九、易错点总结老师最爱考CSRF 必须要求用户已登录。SSRF 不依赖用户登录直接利用服务器权限。CSRF 防御核心是Token。SSRF 防御核心是IP 限制 协议过滤。CSRF 属于客户端漏洞SSRF 属于服务端漏洞。十、最终总结Web 安全漏洞的本质输入不校验、权限不控制、配置不安全、访问不限制。渗透测试学习路线 Web 基础 → 漏洞原理 → 手工实战 → 工具使用 → 内网渗透 → 加固防御CSRF 与 SSRF 是 OWASP Top 10 必考高频漏洞必须掌握原理、利用、防御三要素。