专注Web安全与移动安全
字数 2314 2025-08-18 11:37:12

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

一、安全动态分析

1. DNS隧道通信木马

  • 原理:利用DNS协议进行隐蔽通信,绕过传统防火墙检测
  • 特征
    • 异常频繁的DNS查询请求
    • 查询非常规域名(长随机字符串子域名)
    • 数据通过TXT记录或CNAME记录传输
  • 检测方法
    • 监控DNS查询频率和模式
    • 分析DNS负载内容
    • 使用机器学习检测异常DNS行为

2. 火狐浏览器远程代码执行漏洞

  • 漏洞类型:内存破坏漏洞
  • 影响版本:特定版本的火狐浏览器
  • 利用场景
    • 通过恶意网页触发
    • 可能导致任意代码执行
  • 修复措施
    • 及时更新到最新版本
    • 禁用不必要的浏览器功能

3. 帝友P2P借贷系统SQL注入

  • 漏洞位置:V4.1版本
  • 注入类型:基于错误的SQL注入
  • 利用方法
    • 通过用户输入参数构造恶意SQL
    • 获取数据库敏感信息
  • 防御方案
    • 参数化查询
    • 输入验证和过滤

4. DTD实体XXE漏洞

  • XML外部实体注入
    • 通过恶意XML文件读取系统文件
    • 可能导致服务器端请求伪造(SSRF)
  • 利用方式
    <!DOCTYPE foo [ <!ENTITY xxe SYSTEM "file:///etc/passwd"> ]>
    <foo>&xxe;</foo>
    
  • 防护措施
    • 禁用外部实体解析
    • 使用安全的XML解析器配置

二、安全技能精要

1. 渗透测试方法论

  • 流程阶段
    1. 信息收集
    2. 漏洞分析
    3. 漏洞利用
    4. 权限提升
    5. 维持访问
    6. 痕迹清除

2. 信息泄露漏洞挖掘

  • 常见泄露点
    • 备份文件(.bak, .swp)
    • 版本控制文件(.git, .svn)
    • 错误信息暴露
    • 目录列表
    • 注释中的敏感信息

3. CTF逆向工程

  • 常规逆向技术
    • 静态分析(IDA Pro, Ghidra)
    • 动态调试(OllyDbg, GDB)
    • 反编译工具(JD-GUI, dnSpy)
    • 二进制补丁技术

4. 子域名枚举技术

  • 枚举方法
    • 字典爆破(dnsrecon, sublist3r)
    • 搜索引擎查询(Google dork)
    • 证书透明度日志(crt.sh)
    • DNS区域传输测试
    • 暴力破解(Brute Force)

5. Smarty PHP代码执行漏洞(CVE-2017-1000480)

  • 影响版本:<= 3.1.32
  • 漏洞原理
    • 模板引擎中的不安全反序列化
    • 通过精心构造的模板文件执行任意PHP代码
  • 修复方案:升级到3.1.33或更高版本

三、数据库安全

1. MySQL手工注入

  • 基本流程
    1. 识别注入点
    2. 判断数据库类型
    3. 确定字段数(ORDER BY)
    4. 联合查询获取数据
    5. 提取系统信息(user(), database(), version())
    6. 获取表名和列名

2. Oracle SQL经典查询

  • 常用语句
    -- 获取所有表
    SELECT * FROM ALL_TABLES WHERE OWNER='SCHEMA_NAME';
    
    -- 获取表结构
    SELECT COLUMN_NAME FROM ALL_TAB_COLUMNS WHERE TABLE_NAME='TABLE_NAME';
    

3. Redis未授权访问

  • 利用方式
    • 写入SSH公钥
    • 写入Webshell
    • 数据泄露
  • 防护措施
    • 设置访问密码
    • 绑定特定IP
    • 禁用危险命令

四、Web应用漏洞

1. CSRF漏洞攻防

  • 攻击原理
    • 利用用户已认证状态执行非预期操作
  • 防御方案
    • 使用CSRF Token
    • 检查Referer头
    • 关键操作二次验证

2. WordPress插件漏洞

  • YITH WooCommerce Wishlist SQL注入
    • 未过滤的用户输入直接拼接SQL
    • 影响电子商务网站安全

3. PHP常见漏洞函数

  • 危险函数列表
    • eval()
    • system()/exec()
    • unserialize()
    • include()/require()(无过滤)
    • preg_replace()(带/e修饰符)

五、移动安全

1. Android全局注入方案

  • 技术要点
    • 动态库注入
    • Xposed框架利用
    • Frida工具使用
  • 防护措施
    • 代码混淆
    • 完整性校验
    • 反调试技术

2. 跨平台间谍软件CrossRAT

  • 特征
    • 支持Windows, Linux, macOS
    • 通过Java实现跨平台
    • 持久化技术
  • 检测方法
    • 监控异常Java进程
    • 检查可疑计划任务

六、漏洞利用技术

1. 路由器漏洞分析(CVE-2017-17215)

  • 分析流程
    1. 固件提取
    2. 模拟运行
    3. 漏洞定位
    4. 利用开发
  • 调试工具
    • QEMU
    • IDA Pro
    • GDB

2. Windows提权技术

  • 常见方法
    • 服务配置错误
    • DLL劫持
    • 令牌窃取
    • 内核漏洞利用

3. 格式化字符串漏洞

  • 利用原理
    • 控制格式化字符串参数
    • 读写任意内存
    • 覆盖返回地址
  • 防御措施
    • 使用固定格式字符串
    • 编译器保护机制

七、安全工具集

1. Powershell混淆框架(Invoke-Obfuscation)

  • 功能
    • 字符串编码
    • 命令拆分
    • 随机变量名
  • 检测方法
    • 脚本块日志记录
    • AMSI扫描

2. Earthworm内网渗透

  • 功能特点
    • SOCKS5代理建立
    • 端口转发
    • 内网穿透
  • 使用场景
    • 内网横向移动
    • 绕过防火墙限制

3. DnsLog利用与改造

  • 原理
    • 通过DNS查询记录外带数据
    • 用于盲注漏洞验证
  • 自定义实现
    • 搭建DNS服务器
    • 日志记录与分析

八、区块链安全

1. 智能合约审计要点

  • 常见漏洞
    • 重入攻击
    • 整数溢出
    • 未检查返回值
    • 权限控制缺失

2. 黑产挖矿技术

  • 传播方式
    • 漏洞利用
    • 恶意软件捆绑
    • 水坑攻击
  • 检测指标
    • 异常CPU使用率
    • 可疑网络连接
    • 计划任务变更

九、漏洞修复建议

  1. 及时更新:保持系统和应用最新版本
  2. 最小权限:服务运行使用最低必要权限
  3. 输入验证:对所有用户输入进行严格过滤
  4. 安全配置:禁用不必要的服务和功能
  5. 日志监控:建立完善的日志记录和分析系统
  6. 纵深防御:实施多层安全防护措施

本教学文档涵盖了Web与移动安全的核心知识点,可作为安全学习和实践的参考指南。实际应用中需注意法律法规,所有安全测试应在授权范围内进行。

Web与移动安全综合教学文档 一、安全动态分析 1. DNS隧道通信木马 原理 :利用DNS协议进行隐蔽通信,绕过传统防火墙检测 特征 : 异常频繁的DNS查询请求 查询非常规域名(长随机字符串子域名) 数据通过TXT记录或CNAME记录传输 检测方法 : 监控DNS查询频率和模式 分析DNS负载内容 使用机器学习检测异常DNS行为 2. 火狐浏览器远程代码执行漏洞 漏洞类型 :内存破坏漏洞 影响版本 :特定版本的火狐浏览器 利用场景 : 通过恶意网页触发 可能导致任意代码执行 修复措施 : 及时更新到最新版本 禁用不必要的浏览器功能 3. 帝友P2P借贷系统SQL注入 漏洞位置 :V4.1版本 注入类型 :基于错误的SQL注入 利用方法 : 通过用户输入参数构造恶意SQL 获取数据库敏感信息 防御方案 : 参数化查询 输入验证和过滤 4. DTD实体XXE漏洞 XML外部实体注入 : 通过恶意XML文件读取系统文件 可能导致服务器端请求伪造(SSRF) 利用方式 : 防护措施 : 禁用外部实体解析 使用安全的XML解析器配置 二、安全技能精要 1. 渗透测试方法论 流程阶段 : 信息收集 漏洞分析 漏洞利用 权限提升 维持访问 痕迹清除 2. 信息泄露漏洞挖掘 常见泄露点 : 备份文件(.bak, .swp) 版本控制文件(.git, .svn) 错误信息暴露 目录列表 注释中的敏感信息 3. CTF逆向工程 常规逆向技术 : 静态分析(IDA Pro, Ghidra) 动态调试(OllyDbg, GDB) 反编译工具(JD-GUI, dnSpy) 二进制补丁技术 4. 子域名枚举技术 枚举方法 : 字典爆破(dnsrecon, sublist3r) 搜索引擎查询(Google dork) 证书透明度日志(crt.sh) DNS区域传输测试 暴力破解(Brute Force) 5. Smarty PHP代码执行漏洞(CVE-2017-1000480) 影响版本 : <= 3.1.32 漏洞原理 : 模板引擎中的不安全反序列化 通过精心构造的模板文件执行任意PHP代码 修复方案 :升级到3.1.33或更高版本 三、数据库安全 1. MySQL手工注入 基本流程 : 识别注入点 判断数据库类型 确定字段数(ORDER BY) 联合查询获取数据 提取系统信息(user(), database(), version()) 获取表名和列名 2. Oracle SQL经典查询 常用语句 : 3. Redis未授权访问 利用方式 : 写入SSH公钥 写入Webshell 数据泄露 防护措施 : 设置访问密码 绑定特定IP 禁用危险命令 四、Web应用漏洞 1. CSRF漏洞攻防 攻击原理 : 利用用户已认证状态执行非预期操作 防御方案 : 使用CSRF Token 检查Referer头 关键操作二次验证 2. WordPress插件漏洞 YITH WooCommerce Wishlist SQL注入 : 未过滤的用户输入直接拼接SQL 影响电子商务网站安全 3. PHP常见漏洞函数 危险函数列表 : eval() system()/exec() unserialize() include()/require() (无过滤) preg_replace() (带/e修饰符) 五、移动安全 1. Android全局注入方案 技术要点 : 动态库注入 Xposed框架利用 Frida工具使用 防护措施 : 代码混淆 完整性校验 反调试技术 2. 跨平台间谍软件CrossRAT 特征 : 支持Windows, Linux, macOS 通过Java实现跨平台 持久化技术 检测方法 : 监控异常Java进程 检查可疑计划任务 六、漏洞利用技术 1. 路由器漏洞分析(CVE-2017-17215) 分析流程 : 固件提取 模拟运行 漏洞定位 利用开发 调试工具 : QEMU IDA Pro GDB 2. Windows提权技术 常见方法 : 服务配置错误 DLL劫持 令牌窃取 内核漏洞利用 3. 格式化字符串漏洞 利用原理 : 控制格式化字符串参数 读写任意内存 覆盖返回地址 防御措施 : 使用固定格式字符串 编译器保护机制 七、安全工具集 1. Powershell混淆框架(Invoke-Obfuscation) 功能 : 字符串编码 命令拆分 随机变量名 检测方法 : 脚本块日志记录 AMSI扫描 2. Earthworm内网渗透 功能特点 : SOCKS5代理建立 端口转发 内网穿透 使用场景 : 内网横向移动 绕过防火墙限制 3. DnsLog利用与改造 原理 : 通过DNS查询记录外带数据 用于盲注漏洞验证 自定义实现 : 搭建DNS服务器 日志记录与分析 八、区块链安全 1. 智能合约审计要点 常见漏洞 : 重入攻击 整数溢出 未检查返回值 权限控制缺失 2. 黑产挖矿技术 传播方式 : 漏洞利用 恶意软件捆绑 水坑攻击 检测指标 : 异常CPU使用率 可疑网络连接 计划任务变更 九、漏洞修复建议 及时更新 :保持系统和应用最新版本 最小权限 :服务运行使用最低必要权限 输入验证 :对所有用户输入进行严格过滤 安全配置 :禁用不必要的服务和功能 日志监控 :建立完善的日志记录和分析系统 纵深防御 :实施多层安全防护措施 本教学文档涵盖了Web与移动安全的核心知识点,可作为安全学习和实践的参考指南。实际应用中需注意法律法规,所有安全测试应在授权范围内进行。