专注Web及移动安全[红日安全81期]
字数 2591 2025-08-18 11:38:36

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

一、安全动态与漏洞预警

1.1 近期高危漏洞

  1. Internet Explorer XXE漏洞

    • 漏洞类型:XML外部实体注入(XXE)
    • 影响范围:特定版本的IE浏览器
    • 攻击方式:通过恶意XML文档处理导致信息泄露
    • 缓解措施:禁用XML外部实体解析
  2. Oracle WebLogic反序列化RCE漏洞

    • 漏洞组件:wls9-async
    • CVE编号:CVE-2019-2725等
    • 攻击向量:通过构造恶意序列化对象实现远程代码执行
    • 修复方案:应用官方补丁或临时禁用相关组件
  3. WebLogic任意文件上传漏洞(CVE-2019-2618)

    • 影响版本:10.3.6.0, 12.1.3.0等
    • 利用方式:通过DeploymentService接口上传恶意文件
    • 安全配置:限制文件上传权限
  4. Spring Cloud Config目录遍历漏洞(CVE-2019-3799)

    • 漏洞原理:路径规范化处理不当
    • 影响版本:Spring Cloud Config 2.1.0-2.1.1等
    • 修复版本:升级至2.1.2或更高

1.2 安全周报要点

  • 漏洞管理流程:识别→评估→修复→验证
  • 常见漏洞分类:RCE、XXE、文件上传、目录遍历等
  • 漏洞生命周期管理策略

二、Web安全核心技术

2.1 注入攻击与防御

SQL注入进阶:

  • Union注入攻击流程:
    1. 确定注入点
    2. 判断字段数(ORDER BY)
    3. 确定回显位
    4. 获取数据库信息(version(), database())
    5. 提取表名、列名
    6. 获取敏感数据

MySql注入特性:

  • 注释方式:-- #/* */
  • 字符串拼接:CONCAT()
  • 信息获取函数:user(), current_user()
  • 文件操作:LOAD_FILE(), INTO OUTFILE

防御措施:

  • 预编译语句(PDO)
  • 输入验证与过滤
  • 最小权限原则
  • 错误处理机制

2.2 跨站脚本(XSS)防御

绕过技术:

  • 编码绕过:HTML/JS/URL编码
  • 事件处理器:onerror, onload
  • SVG/XML命名空间
  • 动态评估:eval(), setTimeout()

防御方案:

  • 输出编码:HTML实体编码
  • CSP策略:限制脚本来源
  • HttpOnly标志
  • 内容安全处理库(DOMPurify)

2.3 文件包含与上传

文件包含技巧:

  • 协议利用:php://filter, data://
  • 日志文件包含
  • 环境变量包含
  • 临时文件竞争条件

安全上传实践:

  1. 文件类型验证(MIME+扩展名)
  2. 内容检查(魔术字节)
  3. 随机化文件名
  4. 禁用执行权限
  5. 独立存储域

2.4 其他Web安全议题

PHP随机数安全问题:

  • rand()与mt_rand()的预测性
  • 使用openssl_random_pseudo_bytes()
  • session_id生成缺陷

数据库备份拿webshell:

  • 利用备份功能写入恶意代码
  • 防御:验证备份内容,限制备份目录

三、渗透测试技术

3.1 Meterpreter高级用法

Irb操作技巧:

  • 进程迁移:migrate
  • 权限提升:getsystem
  • 键盘记录:keyscan_start
  • 屏幕捕获:screenshot
  • 持久化:persistence

3.2 白名单绕过技术

  1. Regasm.exe执行Payload

    • 原理:利用.NET程序集注册工具
    • 步骤:编译恶意DLL→regasm注册→执行
  2. Regsvcs.exe执行

    • 通过.NET服务组件注册工具
    • 利用InstallUtil特性
  3. Mshta.exe执行

    • 通过HTML应用执行脚本
    • 结合JavaScript/VBScript
  4. Compiler.exe/Csc.exe

    • 动态编译C#代码
    • 内存中执行程序集

3.3 实战渗透案例

靶机渗透流程:

  1. 信息收集(nmap, dirb)
  2. 漏洞识别(searchsploit)
  3. 初始访问(exploit)
  4. 权限提升(内核/服务漏洞)
  5. 横向移动(psexec, mimikatz)
  6. 数据提取(数据库dump)

CTF压缩包分析:

  • 密码爆破(john, fcrackzip)
  • 明文攻击
  • 文件结构修复
  • 隐写分析(binwalk)

四、安全工具详解

4.1 Watcher被动扫描器

  • 基于流量的漏洞检测
  • 支持OWASP Top 10检测
  • 非侵入式扫描

4.2 WordPress暴力破解工具

  • 多线程用户名/密码枚举
  • REST API端点测试
  • XML-RPC接口利用

4.3 子域名发现工具

  • JS文件分析(SubDomainizer)
  • 证书透明度日志
  • DNS枚举技术

4.4 FuzzScanner信息收集

  • 端口扫描与服务识别
  • WAF检测
  • CMS指纹识别
  • 敏感文件探测

五、代码审计实践

5.1 .NET反序列化漏洞

BinaryFormatter漏洞:

BinaryFormatter formatter = new BinaryFormatter();
formatter.Deserialize(stream); // 危险操作
  • 攻击方式:构造恶意序列化对象
  • 安全替代:使用Json.NET等安全序列化器

SoapFormatter风险:

  • 类似BinaryFormatter的缺陷
  • 建议禁用或严格验证输入

5.2 PHP代码审计要点

文件上传漏洞:

  • 检查move_uploaded_file前后验证
  • 绕过技巧:双扩展名、大小写变异
  • 防御:白名单验证+重命名

ThinkPHP5 SQL注入:

  • 注入点:where条件构造
  • 修复方案:参数绑定
  • 审计方法:跟踪输入到SQL的完整路径

六、安全开发实践

6.1 安全编码规范

  1. 输入验证原则:

    • 白名单优于黑名单
    • 数据规范化处理
    • 上下文相关验证
  2. 会话管理要点:

    • 安全的会话ID生成
    • 会话超时设置
    • 多因素认证

6.2 等保建设要点

系统建设管理:

  • 安全需求分析
  • 供应商评估
  • 安全开发生命周期

系统运维管理:

  • 变更控制流程
  • 漏洞管理机制
  • 安全审计日志

七、学习资源汇总

  1. Python字节码混淆

    • 使用PyArmor等工具
    • 反混淆技术
  2. 持续学习路径:

    • OWASP官方文档
    • MITRE ATT&CK框架
    • 漏洞数据库(CVE/NVD)
  3. 实验环境搭建:

    • Vulnhub靶机
    • Docker安全实验室
    • 云沙箱环境

本教学文档涵盖了Web及移动安全的核心知识点,从基础理论到实战技术,从漏洞原理到防御方案,构建了完整的安全知识体系。建议读者结合实践环境逐步掌握各项技术,并持续关注安全动态更新知识储备。

Web及移动安全综合教学文档 一、安全动态与漏洞预警 1.1 近期高危漏洞 Internet Explorer XXE漏洞 漏洞类型:XML外部实体注入(XXE) 影响范围:特定版本的IE浏览器 攻击方式:通过恶意XML文档处理导致信息泄露 缓解措施:禁用XML外部实体解析 Oracle WebLogic反序列化RCE漏洞 漏洞组件:wls9-async CVE编号:CVE-2019-2725等 攻击向量:通过构造恶意序列化对象实现远程代码执行 修复方案:应用官方补丁或临时禁用相关组件 WebLogic任意文件上传漏洞(CVE-2019-2618) 影响版本:10.3.6.0, 12.1.3.0等 利用方式:通过DeploymentService接口上传恶意文件 安全配置:限制文件上传权限 Spring Cloud Config目录遍历漏洞(CVE-2019-3799) 漏洞原理:路径规范化处理不当 影响版本:Spring Cloud Config 2.1.0-2.1.1等 修复版本:升级至2.1.2或更高 1.2 安全周报要点 漏洞管理流程:识别→评估→修复→验证 常见漏洞分类:RCE、XXE、文件上传、目录遍历等 漏洞生命周期管理策略 二、Web安全核心技术 2.1 注入攻击与防御 SQL注入进阶: Union注入攻击流程: 确定注入点 判断字段数(ORDER BY) 确定回显位 获取数据库信息(version(), database()) 提取表名、列名 获取敏感数据 MySql注入特性: 注释方式: -- 、 # 、 /* */ 字符串拼接:CONCAT() 信息获取函数:user(), current_ user() 文件操作:LOAD_ FILE(), INTO OUTFILE 防御措施: 预编译语句(PDO) 输入验证与过滤 最小权限原则 错误处理机制 2.2 跨站脚本(XSS)防御 绕过技术: 编码绕过:HTML/JS/URL编码 事件处理器:onerror, onload SVG/XML命名空间 动态评估:eval(), setTimeout() 防御方案: 输出编码:HTML实体编码 CSP策略:限制脚本来源 HttpOnly标志 内容安全处理库(DOMPurify) 2.3 文件包含与上传 文件包含技巧: 协议利用:php://filter, data:// 日志文件包含 环境变量包含 临时文件竞争条件 安全上传实践: 文件类型验证(MIME+扩展名) 内容检查(魔术字节) 随机化文件名 禁用执行权限 独立存储域 2.4 其他Web安全议题 PHP随机数安全问题: rand()与mt_ rand()的预测性 使用openssl_ random_ pseudo_ bytes() session_ id生成缺陷 数据库备份拿webshell: 利用备份功能写入恶意代码 防御:验证备份内容,限制备份目录 三、渗透测试技术 3.1 Meterpreter高级用法 Irb操作技巧: 进程迁移:migrate 权限提升:getsystem 键盘记录:keyscan_ start 屏幕捕获:screenshot 持久化:persistence 3.2 白名单绕过技术 Regasm.exe执行Payload 原理:利用.NET程序集注册工具 步骤:编译恶意DLL→regasm注册→执行 Regsvcs.exe执行 通过.NET服务组件注册工具 利用InstallUtil特性 Mshta.exe执行 通过HTML应用执行脚本 结合JavaScript/VBScript Compiler.exe/Csc.exe 动态编译C#代码 内存中执行程序集 3.3 实战渗透案例 靶机渗透流程: 信息收集(nmap, dirb) 漏洞识别(searchsploit) 初始访问(exploit) 权限提升(内核/服务漏洞) 横向移动(psexec, mimikatz) 数据提取(数据库dump) CTF压缩包分析: 密码爆破(john, fcrackzip) 明文攻击 文件结构修复 隐写分析(binwalk) 四、安全工具详解 4.1 Watcher被动扫描器 基于流量的漏洞检测 支持OWASP Top 10检测 非侵入式扫描 4.2 WordPress暴力破解工具 多线程用户名/密码枚举 REST API端点测试 XML-RPC接口利用 4.3 子域名发现工具 JS文件分析(SubDomainizer) 证书透明度日志 DNS枚举技术 4.4 FuzzScanner信息收集 端口扫描与服务识别 WAF检测 CMS指纹识别 敏感文件探测 五、代码审计实践 5.1 .NET反序列化漏洞 BinaryFormatter漏洞: 攻击方式:构造恶意序列化对象 安全替代:使用Json.NET等安全序列化器 SoapFormatter风险: 类似BinaryFormatter的缺陷 建议禁用或严格验证输入 5.2 PHP代码审计要点 文件上传漏洞: 检查move_ uploaded_ file前后验证 绕过技巧:双扩展名、大小写变异 防御:白名单验证+重命名 ThinkPHP5 SQL注入: 注入点:where条件构造 修复方案:参数绑定 审计方法:跟踪输入到SQL的完整路径 六、安全开发实践 6.1 安全编码规范 输入验证原则: 白名单优于黑名单 数据规范化处理 上下文相关验证 会话管理要点: 安全的会话ID生成 会话超时设置 多因素认证 6.2 等保建设要点 系统建设管理: 安全需求分析 供应商评估 安全开发生命周期 系统运维管理: 变更控制流程 漏洞管理机制 安全审计日志 七、学习资源汇总 Python字节码混淆 使用PyArmor等工具 反混淆技术 持续学习路径: OWASP官方文档 MITRE ATT&CK框架 漏洞数据库(CVE/NVD) 实验环境搭建: Vulnhub靶机 Docker安全实验室 云沙箱环境 本教学文档涵盖了Web及移动安全的核心知识点,从基础理论到实战技术,从漏洞原理到防御方案,构建了完整的安全知识体系。建议读者结合实践环境逐步掌握各项技术,并持续关注安全动态更新知识储备。