专注Web及移动安全[红日安全81期]
字数 2591 2025-08-18 11:38:36
Web及移动安全综合教学文档
一、安全动态与漏洞预警
1.1 近期高危漏洞
-
Internet Explorer XXE漏洞
- 漏洞类型:XML外部实体注入(XXE)
- 影响范围:特定版本的IE浏览器
- 攻击方式:通过恶意XML文档处理导致信息泄露
- 缓解措施:禁用XML外部实体解析
-
Oracle WebLogic反序列化RCE漏洞
- 漏洞组件:wls9-async
- CVE编号:CVE-2019-2725等
- 攻击向量:通过构造恶意序列化对象实现远程代码执行
- 修复方案:应用官方补丁或临时禁用相关组件
-
WebLogic任意文件上传漏洞(CVE-2019-2618)
- 影响版本:10.3.6.0, 12.1.3.0等
- 利用方式:通过DeploymentService接口上传恶意文件
- 安全配置:限制文件上传权限
-
Spring Cloud Config目录遍历漏洞(CVE-2019-3799)
- 漏洞原理:路径规范化处理不当
- 影响版本:Spring Cloud Config 2.1.0-2.1.1等
- 修复版本:升级至2.1.2或更高
1.2 安全周报要点
- 漏洞管理流程:识别→评估→修复→验证
- 常见漏洞分类:RCE、XXE、文件上传、目录遍历等
- 漏洞生命周期管理策略
二、Web安全核心技术
2.1 注入攻击与防御
SQL注入进阶:
- Union注入攻击流程:
- 确定注入点
- 判断字段数(ORDER BY)
- 确定回显位
- 获取数据库信息(version(), database())
- 提取表名、列名
- 获取敏感数据
MySql注入特性:
- 注释方式:
--、#、/* */ - 字符串拼接:CONCAT()
- 信息获取函数:user(), current_user()
- 文件操作:LOAD_FILE(), INTO OUTFILE
防御措施:
- 预编译语句(PDO)
- 输入验证与过滤
- 最小权限原则
- 错误处理机制
2.2 跨站脚本(XSS)防御
绕过技术:
- 编码绕过:HTML/JS/URL编码
- 事件处理器:onerror, onload
- SVG/XML命名空间
- 动态评估:eval(), setTimeout()
防御方案:
- 输出编码:HTML实体编码
- CSP策略:限制脚本来源
- HttpOnly标志
- 内容安全处理库(DOMPurify)
2.3 文件包含与上传
文件包含技巧:
- 协议利用:php://filter, data://
- 日志文件包含
- 环境变量包含
- 临时文件竞争条件
安全上传实践:
- 文件类型验证(MIME+扩展名)
- 内容检查(魔术字节)
- 随机化文件名
- 禁用执行权限
- 独立存储域
2.4 其他Web安全议题
PHP随机数安全问题:
- rand()与mt_rand()的预测性
- 使用openssl_random_pseudo_bytes()
- session_id生成缺陷
数据库备份拿webshell:
- 利用备份功能写入恶意代码
- 防御:验证备份内容,限制备份目录
三、渗透测试技术
3.1 Meterpreter高级用法
Irb操作技巧:
- 进程迁移:migrate
- 权限提升:getsystem
- 键盘记录:keyscan_start
- 屏幕捕获:screenshot
- 持久化:persistence
3.2 白名单绕过技术
-
Regasm.exe执行Payload
- 原理:利用.NET程序集注册工具
- 步骤:编译恶意DLL→regasm注册→执行
-
Regsvcs.exe执行
- 通过.NET服务组件注册工具
- 利用InstallUtil特性
-
Mshta.exe执行
- 通过HTML应用执行脚本
- 结合JavaScript/VBScript
-
Compiler.exe/Csc.exe
- 动态编译C#代码
- 内存中执行程序集
3.3 实战渗透案例
靶机渗透流程:
- 信息收集(nmap, dirb)
- 漏洞识别(searchsploit)
- 初始访问(exploit)
- 权限提升(内核/服务漏洞)
- 横向移动(psexec, mimikatz)
- 数据提取(数据库dump)
CTF压缩包分析:
- 密码爆破(john, fcrackzip)
- 明文攻击
- 文件结构修复
- 隐写分析(binwalk)
四、安全工具详解
4.1 Watcher被动扫描器
- 基于流量的漏洞检测
- 支持OWASP Top 10检测
- 非侵入式扫描
4.2 WordPress暴力破解工具
- 多线程用户名/密码枚举
- REST API端点测试
- XML-RPC接口利用
4.3 子域名发现工具
- JS文件分析(SubDomainizer)
- 证书透明度日志
- DNS枚举技术
4.4 FuzzScanner信息收集
- 端口扫描与服务识别
- WAF检测
- CMS指纹识别
- 敏感文件探测
五、代码审计实践
5.1 .NET反序列化漏洞
BinaryFormatter漏洞:
BinaryFormatter formatter = new BinaryFormatter();
formatter.Deserialize(stream); // 危险操作
- 攻击方式:构造恶意序列化对象
- 安全替代:使用Json.NET等安全序列化器
SoapFormatter风险:
- 类似BinaryFormatter的缺陷
- 建议禁用或严格验证输入
5.2 PHP代码审计要点
文件上传漏洞:
- 检查move_uploaded_file前后验证
- 绕过技巧:双扩展名、大小写变异
- 防御:白名单验证+重命名
ThinkPHP5 SQL注入:
- 注入点:where条件构造
- 修复方案:参数绑定
- 审计方法:跟踪输入到SQL的完整路径
六、安全开发实践
6.1 安全编码规范
-
输入验证原则:
- 白名单优于黑名单
- 数据规范化处理
- 上下文相关验证
-
会话管理要点:
- 安全的会话ID生成
- 会话超时设置
- 多因素认证
6.2 等保建设要点
系统建设管理:
- 安全需求分析
- 供应商评估
- 安全开发生命周期
系统运维管理:
- 变更控制流程
- 漏洞管理机制
- 安全审计日志
七、学习资源汇总
-
Python字节码混淆
- 使用PyArmor等工具
- 反混淆技术
-
持续学习路径:
- OWASP官方文档
- MITRE ATT&CK框架
- 漏洞数据库(CVE/NVD)
-
实验环境搭建:
- Vulnhub靶机
- Docker安全实验室
- 云沙箱环境
本教学文档涵盖了Web及移动安全的核心知识点,从基础理论到实战技术,从漏洞原理到防御方案,构建了完整的安全知识体系。建议读者结合实践环境逐步掌握各项技术,并持续关注安全动态更新知识储备。