专注Web及移动安全[红日安全36期]
字数 2418 2025-08-18 11:37:16
Web及移动安全综合教学文档
一、Web安全漏洞与防护
1.1 文件上传漏洞
- 漏洞原理:未对上传文件进行充分验证,导致恶意文件上传
- 攻击方式:
- 上传WebShell(如PHP、JSP等脚本文件)
- 上传恶意HTML/JS文件进行XSS攻击
- 上传病毒或恶意软件
- 防护措施:
- 文件类型白名单验证(不仅检查扩展名,还需检查MIME类型)
- 文件内容检测(魔术字节验证)
- 随机重命名上传文件
- 存储在非Web可访问目录
- 设置文件大小限制
1.2 XSS(跨站脚本攻击)
- 类型:
- 存储型XSS(持久化)
- 反射型XSS(非持久化)
- DOM型XSS(客户端脚本执行)
- 绕过技巧:
- 编码绕过(HTML实体、URL编码、Unicode编码)
- 事件处理属性利用(onerror, onload等)
- 利用SVG/XML命名空间
- 使用罕见的HTML标签
- 防护方案:
- 输入过滤与输出编码
- 内容安全策略(CSP)
- HttpOnly Cookie标志
- 使用X-XSS-Protection头
1.3 账户密码重置漏洞
- 常见漏洞模式:
- 可预测的重置令牌
- 未验证用户所有权
- 令牌未设置有效期
- 通过用户可控参数修改目标账户
- 防护建议:
- 使用强随机数生成令牌
- 设置短有效期(如15分钟)
- 完整验证流程(旧密码验证+二次验证)
- 记录重置日志
二、反序列化漏洞专题
2.1 WebLogic反序列化漏洞(CVE-2018-2628)
- 影响版本:WebLogic 10.3.6.0, 12.1.3.0, 12.2.1.2, 12.2.1.3
- 漏洞原理:T3协议反序列化时未严格验证输入
- 利用方式:
- 通过T3协议发送恶意序列化对象
- 使用ysoserial等工具生成payload
- 修复方案:
- 升级至最新补丁
- 限制T3协议访问(网络ACL)
- 启用WebLogic反序列化过滤器
2.2 Java反序列化漏洞利用
- 常见攻击链:
- Apache Commons Collections
- Groovy
- Spring框架
- Windows挖矿利用:
- 通过Runtime.exec()执行挖矿脚本
- 使用ProcessBuilder隐藏进程
- 持久化技术(注册表、启动项)
- 检测与防护:
- 使用SerialKiller等安全反序列化库
- JEP 290过滤机制
- 运行时监控异常反序列化行为
三、渗透测试技术详解
3.1 内网渗透技术
- Windows密码抓取:
- Mimikatz(sekurlsa::logonpasswords)
- Procdump + 离线分析
- SAM数据库提取(reg save HKLM\SYSTEM system.hiv)
- 哈希传递攻击(PtH)
- 权限提升方法:
- SUID/SGID滥用(find / -perm -4000)
- 内核漏洞利用(如CVE-2017-16995)
- 服务配置错误(未引用路径)
- 令牌窃取(incognito)
3.2 后门防护技术
- Shift后门防护:
- 修改sethc.exe权限
- 监控系统32目录关键文件变更
- 启用Windows Defender实时保护
- 部署EDR解决方案
3.3 绕过技术
- 杀毒软件绕过:
- ReflectivePEInjection技术
- 进程镂空(Process Hollowing)
- 内存加密payload
- 合法进程注入
- 流量隐藏:
- DNS隧道技术
- HTTP头部隐蔽信道
- 端口反向连接
- 合法云服务中转
四、代码审计技术
4.1 PHP代码审计
- 解密混淆PHP:
- 静态分析(变量追踪)
- 动态调试(xdebug)
- 使用unPHP等工具
- 正则匹配关键函数
- 常见漏洞模式:
- extract()变量覆盖
- unserialize()危险使用
- 动态函数调用($func())
- 文件包含未过滤(../)
4.2 WebGoat SQL注入审计
- 注入类型:
- 基于错误的注入
- 布尔盲注
- 时间盲注
- 联合查询注入
- 防御方案:
- 参数化查询
- ORM框架使用
- 最小权限原则
- SQL关键字过滤
五、安全工具集
5.1 静态分析工具
- Mosca:
- 支持多种语言
- 自定义规则集
- 集成CI/CD
- pyt:
- Python专用审计
- AST分析
- 污点跟踪
5.2 渗透测试工具
- Deep Exploit:
- 机器学习辅助
- 自动化漏洞利用
- 多阶段攻击链
- Zarp:
- 中间人攻击
- 协议分析
- 模块化设计
5.3 Web审计工具
- WATOBO:
- 会话管理
- 主动/被动扫描
- 插件扩展
- WebVulScan:
- 爬虫集成
- 漏洞验证
- 报告生成
六、高级攻击技术
6.1 SSRF利用
- 缓存服务滥用:
- Redis未授权访问
- Memcached放大攻击
- 内部服务探测
- 防护措施:
- 网络隔离
- 请求过滤(禁用file://, dict://)
- 出口防火墙规则
6.2 Drupal漏洞利用(CVE-2018-7600)
- 影响版本:Drupal 7.x, 8.x
- 利用链:
- 表单API注入
- 反序列化触发
- 任意代码执行
- 修复方案:
- 立即升级到安全版本
- 禁用非必要模块
- 文件权限限制
七、防御体系建设
7.1 纵深防御策略
- 网络层ACL
- 主机层HIDS
- 应用层WAF
- 数据层加密
7.2 安全监控
- 日志集中分析(SIEM)
- 异常行为检测(UEBA)
- 文件完整性监控
- 网络流量分析
7.3 应急响应
- 事件分类分级
- 遏制策略(网络隔离,账户禁用)
- 根因分析
- 复盘改进
八、CTF实战技巧
8.1 内核PWN解题思路
- 漏洞定位(代码审计,逆向)
- 利用链构建
- 权限上下文分析
- SMEP/SMAP绕过
8.2 流量分析技术
- Wireshark过滤语法
- 协议逆向
- 隐蔽信道识别
- 时间序列分析
本教学文档涵盖了Web及移动安全的核心知识点,从基础漏洞原理到高级渗透技术,从代码审计到防御体系建设。建议学习者结合实践环境进行验证,并持续关注安全社区的最新动态。