专注Web及移动安全[红日安全96期]
字数 2311 2025-08-18 11:38:52

Web及移动安全综合教学文档

一、安全动态与行业趋势

1.1 渗透测试法律风险

  • 案例警示:某测评公司员工因未授权渗透测试被法律追究
  • 合规要求:渗透测试必须获得书面授权,明确测试范围和方式
  • 法律边界:区分安全测试与非法入侵的关键在于授权和目的

1.2 等保2.0相关技术

  • CentOS安全审计:系统日志配置、用户行为监控、关键文件完整性检查
  • 跨网文件交换:采用安全隔离设备、内容过滤、审批流程和加密传输
  • 定级标准:根据系统重要性和受损影响确定保护等级

1.3 认证与职业发展

  • CISSP认证:涵盖安全与风险管理、资产安全、安全工程等8个领域
  • 职业方向选择:技术路线(渗透测试/安全研发)与管理路线(安全合规/风险管理)
  • 学习体系:建立完整知识框架(网络/系统/应用/数据安全)比零散学习更重要

二、Web安全核心技术

2.1 常见漏洞类型

  • 注入类漏洞

    • SQL注入:联合查询、布尔盲注、时间盲注、堆叠查询
    • XXE(XML外部实体注入):文件读取、SSRF、拒绝服务攻击
    • 反序列化漏洞:PHP/Java对象反序列化导致代码执行
  • 客户端漏洞

    • XSS(跨站脚本):存储型、反射型、DOM型及绕过技巧
    • CSRF(跨站请求伪造):Token验证、Referer检查等防御措施
  • 服务端漏洞

    • 文件上传绕过:双写、00截断、Content-Type欺骗
    • 命令执行:Webmin(CVE-2019-15107)、Squid(CVE-2019-12527)等案例

2.2 漏洞挖掘技术

  • 代码审计

    • 敏感函数追踪:eval()、system()、unserialize()等危险函数
    • 数据流分析:用户输入→危险函数的过程追踪
  • 黑盒测试

    • 模糊测试:边界值、异常输入测试
    • OOB(带外)攻击:DNS/HTTP外带数据验证漏洞存在

2.3 防御技术

  • 输入验证:白名单过滤、参数化查询
  • 输出编码:HTML实体编码、JavaScript编码
  • 安全配置:关闭不必要服务、最小权限原则

三、渗透测试实战方法

3.1 渗透测试流程

  1. 信息收集

    • 子域名枚举(SubDomainsBrute等工具)
    • 目录扫描(BBScan、WhatDir)
    • 指纹识别(CMS/框架/中间件识别)
  2. 漏洞探测

    • 自动化扫描(Nmap脚本、VulnX等工具)
    • 手动验证(结合业务逻辑测试)
  3. 权限提升

    • Linux提权:内核漏洞(CVE-2017-0213)、配置错误
    • Windows提权:服务权限、令牌窃取
  4. 内网渗透

    • 横向移动:Pass-the-Hash、票据传递
    • 权限维持:后门、计划任务、服务创建

3.2 典型场景案例

  • 金融APP支付漏洞:金额篡改、订单重放、业务逻辑绕过
  • 医院HIS系统渗透:弱口令→数据库访问→敏感数据泄露
  • 内网域渗透:初始立足点→信息收集→域控攻陷

3.3 后渗透技术

  • 隧道搭建:FRP、Ngrok等内网穿透工具
  • 隐蔽通信:DNS隧道、ICMP隧道
  • 痕迹清除:日志篡改、时间戳修改

四、安全工具详解

4.1 信息收集工具

  • SubDomainsBrute:基于字典的子域名爆破
  • BBScan:快速检测信息泄露(备份文件、SVN/Git泄露)
  • WhatDir:多线程Web目录扫描

4.2 漏洞利用工具

  • Metasploit Framework:模块化渗透测试平台
    • 常用模块:exploit/multi/handler、post/windows/gather/credentials
  • Setoolkit:社会工程学工具包
    • 钓鱼攻击、网站克隆、凭证收集

4.3 密码破解工具

  • Crunch:定制化字典生成
    • 语法:crunch <min> <max> <charset> -o <output>
  • Hashcat:支持多种算法的GPU加速破解

五、安全开发实践

5.1 安全编码规范

  • 输入处理:所有输入视为不可信,严格验证
  • 错误处理:避免泄露堆栈信息等敏感数据
  • 会话管理:使用安全的随机数生成会话ID

5.2 安全配置指南

  • Apache/Tomcat
    • 删除默认页面和示例程序
    • 配置严格的访问控制
  • PHP
    • 禁用危险函数(exec、system等)
    • 开启安全模式(php.ini配置)

六、应急响应与取证

6.1 Windows应急响应

  • 异常进程检查:netstat、tasklist对比基线
  • 持久化位置:注册表Run键、启动文件夹、服务
  • 日志分析:安全事件日志(事件ID对应表)

6.2 Linux应急响应

  • 隐藏进程检测ps -ef对比ls /proc
  • Rootkit检查:chkrootkit、rkhunter
  • 时间线分析:通过文件时间戳重建攻击过程

七、高级攻防技术

7.1 免杀技术

  • 代码混淆:加壳、加密、多态变形
  • 内存注入:不落地执行恶意代码
  • 合法工具滥用:PsExec、WMI等白名单程序利用

7.2 网络层攻击

  • ARP欺骗:中间人攻击实现流量劫持
  • 交换机漏洞:VLAN跳跃、MAC地址表溢出

八、安全学习资源

8.1 推荐学习路径

  1. 基础:网络协议、操作系统原理
  2. 进阶:Web安全、渗透测试技术
  3. 高级:代码审计、漏洞挖掘

8.2 实践平台

  • Vulnhub:各类漏洞环境镜像
  • CTF比赛:实战化学习场景
  • SRC平台:合法漏洞挖掘实践

本教学文档涵盖了Web及移动安全的核心知识点,从基础概念到高级技术均有涉及。建议学习者按照自身水平选择适合的内容进行深入学习,并通过实验环境进行实践验证。安全技术更新迅速,需要持续关注最新漏洞和防御技术发展。

Web及移动安全综合教学文档 一、安全动态与行业趋势 1.1 渗透测试法律风险 案例警示 :某测评公司员工因未授权渗透测试被法律追究 合规要求 :渗透测试必须获得书面授权,明确测试范围和方式 法律边界 :区分安全测试与非法入侵的关键在于授权和目的 1.2 等保2.0相关技术 CentOS安全审计 :系统日志配置、用户行为监控、关键文件完整性检查 跨网文件交换 :采用安全隔离设备、内容过滤、审批流程和加密传输 定级标准 :根据系统重要性和受损影响确定保护等级 1.3 认证与职业发展 CISSP认证 :涵盖安全与风险管理、资产安全、安全工程等8个领域 职业方向选择 :技术路线(渗透测试/安全研发)与管理路线(安全合规/风险管理) 学习体系 :建立完整知识框架(网络/系统/应用/数据安全)比零散学习更重要 二、Web安全核心技术 2.1 常见漏洞类型 注入类漏洞 : SQL注入:联合查询、布尔盲注、时间盲注、堆叠查询 XXE(XML外部实体注入):文件读取、SSRF、拒绝服务攻击 反序列化漏洞:PHP/Java对象反序列化导致代码执行 客户端漏洞 : XSS(跨站脚本):存储型、反射型、DOM型及绕过技巧 CSRF(跨站请求伪造):Token验证、Referer检查等防御措施 服务端漏洞 : 文件上传绕过:双写、00截断、Content-Type欺骗 命令执行:Webmin(CVE-2019-15107)、Squid(CVE-2019-12527)等案例 2.2 漏洞挖掘技术 代码审计 : 敏感函数追踪:eval()、system()、unserialize()等危险函数 数据流分析:用户输入→危险函数的过程追踪 黑盒测试 : 模糊测试:边界值、异常输入测试 OOB(带外)攻击:DNS/HTTP外带数据验证漏洞存在 2.3 防御技术 输入验证 :白名单过滤、参数化查询 输出编码 :HTML实体编码、JavaScript编码 安全配置 :关闭不必要服务、最小权限原则 三、渗透测试实战方法 3.1 渗透测试流程 信息收集 : 子域名枚举(SubDomainsBrute等工具) 目录扫描(BBScan、WhatDir) 指纹识别(CMS/框架/中间件识别) 漏洞探测 : 自动化扫描(Nmap脚本、VulnX等工具) 手动验证(结合业务逻辑测试) 权限提升 : Linux提权:内核漏洞(CVE-2017-0213)、配置错误 Windows提权:服务权限、令牌窃取 内网渗透 : 横向移动:Pass-the-Hash、票据传递 权限维持:后门、计划任务、服务创建 3.2 典型场景案例 金融APP支付漏洞 :金额篡改、订单重放、业务逻辑绕过 医院HIS系统渗透 :弱口令→数据库访问→敏感数据泄露 内网域渗透 :初始立足点→信息收集→域控攻陷 3.3 后渗透技术 隧道搭建 :FRP、Ngrok等内网穿透工具 隐蔽通信 :DNS隧道、ICMP隧道 痕迹清除 :日志篡改、时间戳修改 四、安全工具详解 4.1 信息收集工具 SubDomainsBrute :基于字典的子域名爆破 BBScan :快速检测信息泄露(备份文件、SVN/Git泄露) WhatDir :多线程Web目录扫描 4.2 漏洞利用工具 Metasploit Framework :模块化渗透测试平台 常用模块:exploit/multi/handler、post/windows/gather/credentials Setoolkit :社会工程学工具包 钓鱼攻击、网站克隆、凭证收集 4.3 密码破解工具 Crunch :定制化字典生成 语法: crunch <min> <max> <charset> -o <output> Hashcat :支持多种算法的GPU加速破解 五、安全开发实践 5.1 安全编码规范 输入处理 :所有输入视为不可信,严格验证 错误处理 :避免泄露堆栈信息等敏感数据 会话管理 :使用安全的随机数生成会话ID 5.2 安全配置指南 Apache/Tomcat : 删除默认页面和示例程序 配置严格的访问控制 PHP : 禁用危险函数(exec、system等) 开启安全模式(php.ini配置) 六、应急响应与取证 6.1 Windows应急响应 异常进程检查 :netstat、tasklist对比基线 持久化位置 :注册表Run键、启动文件夹、服务 日志分析 :安全事件日志(事件ID对应表) 6.2 Linux应急响应 隐藏进程检测 : ps -ef 对比 ls /proc Rootkit检查 :chkrootkit、rkhunter 时间线分析 :通过文件时间戳重建攻击过程 七、高级攻防技术 7.1 免杀技术 代码混淆 :加壳、加密、多态变形 内存注入 :不落地执行恶意代码 合法工具滥用 :PsExec、WMI等白名单程序利用 7.2 网络层攻击 ARP欺骗 :中间人攻击实现流量劫持 交换机漏洞 :VLAN跳跃、MAC地址表溢出 八、安全学习资源 8.1 推荐学习路径 基础:网络协议、操作系统原理 进阶:Web安全、渗透测试技术 高级:代码审计、漏洞挖掘 8.2 实践平台 Vulnhub:各类漏洞环境镜像 CTF比赛:实战化学习场景 SRC平台:合法漏洞挖掘实践 本教学文档涵盖了Web及移动安全的核心知识点,从基础概念到高级技术均有涉及。建议学习者按照自身水平选择适合的内容进行深入学习,并通过实验环境进行实践验证。安全技术更新迅速,需要持续关注最新漏洞和防御技术发展。