minify php,ThinkSNS public/minify.php 任意文件包含漏洞
## 漏洞信息:
ThinkSNS开源微博系统,是智士的开源社交平台。采用PHP+MySQL技术平台,微博+应用的产品模式,同时拥有iphone、android客户端、wap、3G版界面。
ThinkSNS public/minify.php 存在任意文件包含漏洞,可被利用导致敏感信息泄漏。
## 漏洞分析:
问题在public/minify.php:
```
allowed_content_types=array('js','css');
$getfiles= explode(',', strip_tags($_GET['f']));
//解析参数
$gettype= (isset($_GET['t']) && $_GET['t']=='css')?'css':'js';
if($gettype=='css'){
$content_type='text/css';
}elseif($gettype=='js'){
$content_type='application/x-javascript';
}else{
die('not allowed content type');
}
header ("content-type: ".$content_type."; charset: utf-8");//注意修改到你的编码
header ("cache-control: must-revalidate");//
header ("expires: " . gmdate ("D, d M Y H:i:s", time() + 60 * 60 * 24 * 7 ) . " GMT");//过期时间
ob_start("compress");
function compress($buffer) {//去除文件中的注释
$buffer = preg_replace('!/\*[^*]*\*+([^/][^*]*\*+)*/!', '', $buffer);
return $buffer;
}
foreach($getfiles as $file){
$fileType = strtolower( substr($file, strrpos($file, '.') + 1 ) );
if(in_array($fileType, $allowed_content_types)){
//包含你的全部css文档
include($file);
}else{
echo 'not allowed file type:'.$file;
}
}
```
通过$_GET['f'] 可以传递一个js或者css后缀的文件,内容为php脚本即可被包含并执行。
当allow_url_fopen=On 的情况下 利用就非常简单
直接远程文件。
当为Off的时候 就想办法上传一个js或者css文件到服务器 然后包含即可被执行!
上传测试文件至目录/x.php,通过以下途径触发:
```
http://xxxxxx/public/minify.php?f=../x.php
```
## 解决方案:
建议关注官官网更新,及时升级最新版本:
http://www.thinksns.com
minify php,ThinkSNS public/minify.php 任意文件包含漏洞相关推荐
- 任意文件包含漏洞(1)
目录 原理 分类 危害 包含的函数 本地文件包含 远程文件包含 利用方式 无文件包含方法 有文件包含方法 1.伪协议 1.data 2.php://input 3.zip://伪协议 首先要说明的一点 ...
- php任意文件引入漏洞,PHP:ThinkCMFX任意文件包含漏洞
前言:最近爆出来的漏洞,ThinkCmfX版本应该是通杀的,基于3.X Thinkphp开发的 代码下载地址:https://gitee.com/thinkcmf/ThinkCMFX/releases ...
- php excel中解析显示html代码_骑士cms从任意文件包含到远程代码执行漏洞分析
前言 前些日子,骑士cms 官方公布了一个系统紧急风险漏洞升级通知:骑士cms 6.0.48存在一处任意文件包含漏洞,利用该漏洞对payload文件进行包含,即可造成远程代码执行漏洞.这篇文章将从漏洞 ...
- 代码审计:任意文件包含(php4.81版本)
代码审计方式: 通读全文 关键字定位 本次采用的是关键字定位,使用工具为seay源代码审计系统. 流程及分析: 添加审计源码项目并定位关键字(使用全局搜索定位) 定位原则:有变量参数传入 分析此处源码 ...
- mysql 多字节编码漏洞_phpmyadmin 4.8.1 远程文件包含漏洞(CVE-2018-12613)
漏洞详情 范围 phpMyAdmin 4.8.0和4.8.1 原理 首先在index.php 50-63行代码 $target_blacklist = array ( 'import.php', 'e ...
- test.php.bak,记一次phpmyadmin 4.8.1 远程文件包含漏洞(BUUCTF web)
题目很简单,一个滑稽 打开源码,发现存在source.php文件 于是访问文件,发现出现一串php源码 提示存在hint.php,于是访问发现一句话 flag not here, and flag i ...
- 熊海CMS_V1.0代码审计与漏洞分析及采坑日记(一)--文件包含漏洞
前言 最近几天在给协会的学弟讲代码审计入门相关内容,便找了这个熊海CMS_V1.0来教学,结果在这个过程中遇到蛮多问题的,于是这篇文章详细记录了对熊海CMS_V1.0从搭建到审计与漏洞分析的过程,其中 ...
- 【文件包含漏洞】——文件包含漏洞防御
文章目录 一.实验目的: 二.实验环境: 三.防御说明: 四.防御措施: 1. 设置白名单: 2. 过滤危险字符: 3. 设置文件目录(配置php.ini): 4. 关闭危险配置(配置php.ini) ...
- php 打开任意文件下载,TEC-004-php文件下载任意文件读取漏洞修复
修改download?u参数值,将/public/files/14842030529.txt,替换为../../../../../../../../../../etc/passwd function ...
最新文章
- 桥接模式(Bridge)
- 关于什么事情能做到和不能做到的思考
- ionic安装及入门示例
- 12个让您震撼的Linux终端命令
- Mockito –使用全局配置的SmartNull在NPE上提供更好的错误消息
- 【51单片机快速入门指南】8:看门狗定时器(WDT)
- Bottle: Python Web Framework
- 2008社工新书《黑客社会工程学攻击》
- 断开所有sql用户连接(转)
- oracle如何做定时任务,oracle实现定时任务
- STL之字符串类模板 string(三)、C++ string类成员函数
- shell脚本清理网宿cdn缓存
- Jetseon TX2 IntelRealsense D435i Python
- 如何与其他用户共享SkyBell HD访问
- 计算机教室布置软木,软木照片墙布置,让孩子体验手工的乐趣
- (Java)类的接口实验
- baby计算机英语怎么读,英语单词baby怎么读,baby的音标是什么,baby是什么意思 - 音标网...
- mvc模式网页购物车
- 大数据时代网络安全分析
- 计算机excel数据模板,excel表格范本
热门文章
- 从proe/creo/solidwork导出三维模型到unity----第一讲
- 社交机器人检测:Detect Me If You Can: Spam Bot Detection Using InductiveRepresentation Learning--论文阅读
- Mac安装非app store下载的软件
- React全家桶包含哪些
- 从互联网四大天王看互联网发展
- 快速批量给视频添加上下图水印的实操教学
- 人工智能(AI)如何帮助企业优化劳动力管理?
- 创想三维切片软件(Creality Slicer)下载完后打不开(双击无反应)怎么办?
- 安科瑞交流三相表电表在越南光伏的应用(防逆变)
- 视觉里程计--视觉slam7.1/相机运动估计视觉算法