专注Web及移动安全[红日安全41期]
字数 3495 2025-08-18 11:37:19
Web及移动安全综合教学文档
一、Web安全核心知识
1.1 SQL注入攻击与防御
-
攻击方式:
- 360主机卫士SQL注入防御绕过技术(多姿势)
- 通过参数拼接构造恶意SQL语句
- 利用注释符(--, #)绕过检测
- 使用内联注释(/!/)绕过WAF
- 利用字符串拼接函数(CONCAT, GROUP_CONCAT)绕过过滤
-
防御方法:
- 使用预编译语句(PreparedStatement)
- 实施严格的输入验证和过滤
- 最小权限原则配置数据库账户
- 使用ORM框架避免直接SQL拼接
- 部署WAF并定期更新规则
1.2 SSRF(服务器端请求伪造)
-
原理:
- 攻击者诱使服务器向内部系统发起恶意请求
- 常见于URL参数处理不当的场景
-
利用方式:
- 访问内部服务(如redis, memcached)
- 扫描内网端口和服务
- 绕过防火墙限制
- 利用协议处理差异(file://, dict://, gopher://)
-
绕过技术:
- 使用不同URL编码方式
- 利用DNS重绑定技术
- 使用短链接服务
- 利用302跳转
-
防御措施:
- 白名单校验目标地址
- 禁用危险协议(file://, dict://等)
- 实施网络层隔离
- 使用专用网络代理服务
1.3 Xpath注入
- 定位经验:
- 使用绝对路径(/root/child)提高准确性
- 利用谓词表达式过滤节点([@attribute='value'])
- 使用通配符(*)匹配未知节点
- 结合position()函数定位特定位置节点
1.4 HTTP方法安全
-
风险方法:
- PUT:可能导致任意文件上传
- DELETE:可能导致文件删除
- TRACE:可能导致跨站跟踪攻击
- OPTIONS:泄露服务器信息
-
防御建议:
- 仅允许必要的HTTP方法(GET, POST)
- 配置Web服务器过滤危险方法
- 实施严格的权限控制
1.5 文件包含与遍历漏洞
-
kindeditor文件遍历漏洞:
- 通过构造特殊路径(如../../../etc/passwd)读取系统文件
- 利用URL编码绕过简单过滤
-
防御措施:
- 限制文件访问路径为指定目录
- 禁止用户输入直接作为文件路径
- 实施严格的权限控制
二、渗透测试技术
2.1 内网渗透
-
域渗透技术:
-
定位域控制器(DC)的方法
- 查询DNS记录
- 扫描389端口(LDAP)
- 利用net命令(net group "Domain Controllers" /domain)
-
横向移动技术:
- Pass-the-Hash攻击
- 票据传递攻击(Pass-the-Ticket)
- 利用WMI执行命令
- 计划任务持久化
-
权限提升:
- 利用MS14-068漏洞伪造Kerberos票据
- 组策略首选项(GPP)漏洞利用
- 服务账户滥用
-
-
端口反弹技术:
- 利用nc、socat等工具建立反向连接
- DNS隧道技术(Dnscat2)
- 通过DNS查询建立隐蔽通道
- 绕过网络出口限制
- 内网穿透技术:
- 使用reGeorg建立HTTP隧道
- 使用ssh动态端口转发
2.2 渗透测试工具链
-
Metasploit框架:
-
模块开发基础
- Ruby语言基础
- 模块结构分析
- 载荷生成原理
-
web_delivery模块:
- 内存中执行载荷
- 避免文件落地
- 适用于受限环境
-
-
信息搜集工具:
- 子域名枚举技术
- 使用搜索引擎(google dork)
- 证书透明度日志查询
- DNS暴力破解
- 端口扫描技术
- 隐蔽扫描(-sS)
- 服务识别(-sV)
- 操作系统识别(-O)
- 子域名枚举技术
2.3 应急响应
-
事件处置流程:
- 确认事件范围和影响
- 收集证据和日志
- 遏制攻击扩散
- 根除攻击源头
- 恢复系统运行
- 事后分析和加固
-
Linux查杀Webshell:
- 查找可疑文件:
find /var/www -name "*.php" -mtime -2 grep -r "eval(" /var/www - 分析网络连接:
netstat -antp | grep ESTABLISHED lsof -i - 检查计划任务:
crontab -l ls -la /etc/cron*
- 查找可疑文件:
三、移动安全
3.1 Android序列化漏洞
-
原理:
- 序列化与反序列化过程不匹配
- 可能导致对象状态不一致
- 可能引发类型混淆漏洞
-
攻击场景:
- 通过Intent传递恶意序列化对象
- 利用Binder接口进行进程间攻击
- 篡改本地存储的序列化数据
-
防御措施:
- 实现严格的serialVersionUID校验
- 使用自定义序列化过程(writeObject/readObject)
- 避免反序列化不可信数据
- 使用签名验证序列化数据完整性
四、安全工具集
4.1 漏洞扫描工具
-
商业工具:
- AppScan:支持批量扫描和结果分析
- WVS(Web Vulnerability Scanner):自动化Web应用扫描
-
开源工具:
- V3n0M:开源漏洞扫描器
- SQL注入检测
- XSS检测
- LFI/RFI检测
- SSLyze:SSL/TLS配置分析工具
- 检查支持的协议版本
- 测试加密套件强度
- 验证证书有效性
- V3n0M:开源漏洞扫描器
4.2 恶意软件分析
- Noriben沙箱:
- 基于Python的轻量级沙箱
- 监控进程行为
- 记录文件/注册表操作
- 捕获网络流量
4.3 日志分析
- LogonTracer:
- 可视化分析Windows安全事件日志
- 识别异常登录行为
- 追踪横向移动路径
- 图形化展示攻击链
4.4 WiFi安全工具
- 常用工具:
- Aircrack-ng:WEP/WPA破解
- Reaver:WPS PIN暴力破解
- Wifite:自动化攻击框架
- Kismet:无线网络探测
- Fern Wifi Cracker:图形化攻击工具
五、代码审计技术
5.1 ECShop审计案例
-
任意文件删除漏洞:
- 漏洞位置:admin目录下文件操作功能
- 利用条件:后台权限或CSRF
- 攻击效果:删除关键系统文件导致拒绝服务
-
审计方法:
- 定位文件操作函数(unlink, delete等)
- 追踪用户可控参数传递路径
- 检查路径校验逻辑
- 验证权限控制机制
5.2 PHP代码审计
-
常见危险函数:
- 文件操作:fopen, file_get_contents, include
- 命令执行:system, exec, passthru
- 数据库操作:mysql_query, mysqli_query
- 序列化:unserialize
-
审计流程:
- 了解应用架构和功能
- 识别入口点和数据流
- 标记敏感操作和函数调用
- 追踪用户输入传递路径
- 验证安全控制措施
六、安全开发实践
6.1 安全编码规范
-
输入验证:
- 白名单优于黑名单
- 数据类型和范围校验
- 业务逻辑一致性检查
-
输出编码:
- 根据上下文选择适当编码(HTML, URL, JS等)
- 使用安全框架提供的编码函数
- 避免拼接动态内容
-
会话管理:
- 使用长随机令牌
- 实施安全属性(HttpOnly, Secure)
- 设置合理超时时间
- 重要操作重新认证
6.2 安全配置基线
- Linux安全基线:
- 账户安全:
# 检查空密码账户 awk -F: '($2 == "") {print $1}' /etc/shadow # 检查UID为0的非root账户 awk -F: '($3 == 0) {print $1}' /etc/passwd | grep -v root - 服务加固:
# 关闭不必要服务 systemctl disable <service_name> # 配置SSH安全 Protocol 2 PermitRootLogin no MaxAuthTries 3 - 文件权限:
# 关键文件权限检查 ls -l /etc/passwd /etc/shadow /etc/sudoers # 查找SUID/SGID文件 find / -perm -4000 -o -perm -2000 -type f -exec ls -ld {} \;
- 账户安全:
七、前沿安全研究
7.1 区块链安全
- EOS漏洞分析:
- 远程代码执行漏洞
- 节点间通信协议缺陷
- 智能合约虚拟机漏洞
- 共识机制攻击面
7.2 IoT安全
- VPNFilter恶意软件:
- 针对路由器的僵尸网络
- 模块化设计,功能可扩展
- 持久化技术分析
- 通信加密和C2架构
7.3 CSP绕过技术
- Firefox CVE-2018-5175:
- 内容安全策略(CSP)实现缺陷
- 通过特定字符序列绕过限制
- 导致XSS攻击可能
八、实战案例研究
8.1 从WebShell到域控
-
攻击路径:
- 通过Web漏洞上传WebShell
- 提权获取服务器权限
- 收集域内凭证和配置信息
- 利用域漏洞横向移动
- 最终获取域管理员权限
-
关键技巧:
- 凭证转储(sekurlsa::logonpasswords)
- 黄金票据伪造
- 组策略对象滥用
- 隐蔽持久化技术
8.2 游戏钓鱼站群攻陷
-
攻击方法:
- 识别站群管理后台
- 通过弱口令或漏洞获取权限
- 分析站群结构和数据流
- 获取支付接口和用户数据
- 追踪资金流向
-
防御建议:
- 多因素认证管理后台
- 定期安全审计
- 业务隔离部署
- 敏感操作日志记录
九、持续学习资源
9.1 技术社区
- FreeBuf:安全行业门户,最新漏洞和工具资讯
- Exploit-DB:漏洞利用代码库
- OWASP:Web安全权威指南
9.2 会议资料
- xKungfoo 2018大会PPT:
- 前沿攻击技术分享
- 企业安全建设实践
- 物联网安全研究
9.3 CTF比赛
- ISCC 2018 Writeup:
- Web题目解题思路
- 逆向工程技巧
- 密码学分析
本教学文档涵盖了Web及移动安全的核心知识点,从基础理论到实战技巧,从工具使用到代码审计,形成了完整的安全知识体系。建议读者结合实际环境进行实践,并持续关注安全社区获取最新研究动态。