seacms 6 45 命令執行漏洞分析

2022-06-09 12:39:07 字數 1561 閱讀 1441

這是乙個比較老的漏洞了,不過漏洞原理還是挺有意思的。

漏洞位於search.php檔案中。

首先包含了common.php, 這個檔案裡面做了一些初始化工作,其中最重要的是對提交引數的處理。

註冊提交的引數為系統全域性變數,很容易出現變數覆蓋漏洞。

下面回到search.php, 之後對變數進行處理以及過濾。

然後會$searchtype的值來選擇渲染內容的模板。

之後就是對模板檔案中的內容進行替換。

然後進入$mainclassobj->parseif解析if語句

$mainclassobj->parseif最後會呼叫eval解析。

我們的目標就是 汙染eval的引數。

輸入這個之後,首先閉合前面乙個"=="time"}然後在parseif提取if語句對應標籤內容時,可以看到我們的輸入被識別成了標籤。

最後在eval時,執行的其實是

if(1)print_r($_post[func]($_post[cmd]));//)else
使用searchtype=5是為了使用cascade.html最為模板,因為這裡面才有if標籤

而用order來傳遞payload, 原因在於order變數沒有做過濾處理,而且order的值會用來替換掉.

$content = str_replace("",$order,$content);
參考

命令執行漏洞

命令執行漏洞 命令執行漏洞是指攻擊者可以隨意執行系統命令。os命令執行漏洞 部分web應用程式提供了一些命令執行的操作。例如,想要測試是否可以正常連線,那麼web應用程式底層就很可能去呼叫系統操作命令,如果此處沒有過濾好使用者輸入的資料,就很有可能形成系統命令執行漏洞 在windows中,的作用是將...

命令執行漏洞

原理 由於開發人員在編寫源 時,沒有對源 中可執行的特殊函式入口做過濾,導致客戶端可以提交一些cmd命令,並交由伺服器程式執行。導致攻擊者可以通過瀏覽器或者其他客戶端軟體提交一些cmd命令 或者bash命令 至伺服器程式,伺服器程式通過system eval exec等函式直接或者間接地呼叫cmd....

命令執行漏洞

目前已爆出的命令執行漏洞web應用程式給使用者提供指定的遠端命令操作介面,在呼叫這些函式時,將使用者的輸入作為系統命令引數拼接到命令列中,如果對使用者輸入的引數過濾不嚴格,就到造成命令執行漏洞。1.以當前 的許可權去執行系統命令。2.繼承web服務程式許可權,向伺服器寫檔案,讀取敏感資料等。3.sh...