记一次简单的渗透(二)
字数 1194 2025-08-05 00:16:03
OpenSNS渗透测试实战分析
1. 漏洞概述
OpenSNS存在多个高危安全漏洞,包括:
- 前台远程代码执行(RCE)
- 后台文件上传漏洞
- 后台任意文件下载
- 后台任意文件夹删除
2. 漏洞详情
2.1 前台RCE漏洞
利用方式:
通过构造特定URL实现远程代码执行:
index.php?s=weibo/share/shareBox&query=app=Common%26model=Schedule%26method=runSchedule%26id[method]=-%3E_validationFieldItem%26id[status]=1%26id[4]=function%26id[1]=assert%26id[args]=jiang=phpinfo()%26id[0]=jiang
漏洞原理:
- 利用
Schedule模型的runSchedule方法 - 通过参数注入实现函数调用
- 最终执行
assert函数运行任意PHP代码
2.2 后台文件上传漏洞
利用方式:
- 登录后台后,在模板管理处上传ZIP压缩包
- 系统会自动解压到
/Theme/目录 - 可直接将WebShell解压到可访问目录
特点:
- 无需特殊权限
- 直接解压到Web目录
- 可绕过常规文件上传限制
2.3 后台RCE漏洞
利用方式:
- 结合后台功能实现代码执行
- 具体利用方式未详细说明,但确认存在
2.4 后台任意文件下载
利用方式:
- 通过后台特定功能实现任意文件读取
- 可用于获取配置文件、数据库凭证等敏感信息
3. 渗透测试过程
3.1 信息搜集
- 使用FOFA搜索引擎寻找目标站点
- 确认目标环境:
- PHP 5.x环境
- 存在disable_functions限制
- 存在open_basedir限制
- 缺少危险模块
- 存在php-fpm/fastcgi
3.2 初始访问
- 使用弱口令进入后台
- 通过文件上传功能植入WebShell
- 上传ZIP压缩包到模板管理
- 解压路径为
/Theme/
3.3 权限提升
-
使用蚁剑连接WebShell
-
发现存在限制:
- disable_functions限制
- open_basedir限制
-
绕过限制:
- 目标使用宝塔面板
- PHP-FPM监听在Unix套接字:
/tmp/php-cgi-56.sock - 使用以下方式绕过:
- 直接与sock文件交互
- 使用
unix://套接字方式 - 构造
fsockopen函数请求
-
具体实现:
- 修改WebShell脚本名称
- 使用蚁剑的bypass_disable_functions功能
- 参考项目:https://github.com/AntSwordProject/AntSword-Labs/tree/master/bypass_disable_functions/5
3.4 后渗透
- 成功绕过限制后获得完整命令执行能力
- 可进一步进行权限维持和横向移动
4. 防御建议
- 及时升级OpenSNS到最新版本
- 加强后台认证,避免弱口令
- 限制文件上传功能,特别是模板管理
- 配置严格的PHP安全设置:
- 禁用危险函数
- 合理设置open_basedir
- 监控/tmp目录下的异常sock文件
- 定期进行安全审计和渗透测试
5. 参考资源
- AntSword bypass_disable_functions项目
- PHP-FPM安全研究资料
- OpenSNS官方安全公告