php本地文件包含 Writeup

jzking121 2021-08-15 19:49:50 阅读数:545

本文一共[544]字,预计阅读时长:1分钟~
php 文件 包含 writeup

目錄


本地文件包含簡介

文件包含函數加載的參數沒有經過過濾或者嚴格的定義,可以被用戶控制,包含其他惡意文件,導致了執行了非預期的代碼。

  • php中引發文件包含漏洞的通常是以下四個函數:
  1. include() 如果在包含的過程中有錯,比如文件不存在等,則會直接退出,不執行後續語句。
  2. include_once() 如果出錯的話,只會提出警告,會繼續執行後續語句。
  3. require()
  4. require_once()
    其中require_once()include_once() 功能與require() 和 include() 類似。但如果一個文件已經被包含過了,則 require_once() 和 include_once() 則不會再包含它,以避免函數重定義或變量重賦值等問題。

當利用這四個函數來包含文件時,不管文件是什麼類型,都會直接作為php文件進行解析。
測試代碼:

<?php
$file = $_GET['file'];
include $file;
?>

在同目錄下有個phpinfo.txt,其內容為<?php phpinfo(); ?>則只需要訪問:
即可成功解析phpinfo
image


LFI本地文件包含01

題目URL:www。whalwl。site:8014
提示:flag在網站跟目錄下!

找到上傳:/upload.php
傳一個圖片馬就好了。

LFI本地文件包含02

題目URL:www。whalwl。site:8028
提示:flag在服務器根目錄。
後臺賬號密碼: admin admin

首先經過特征比對,發現程序是凡諾企業網站管理系統 3.0
經過查閱資料發現存在包含漏洞

  • 漏洞文件:
    其中channel.php存在包含文件,include裏有$dir $t_mpath $c_mcmodel $t_path四個變量
if (ism()) {
include($dir.$t_mpath.$c_mcmodel);
} else {
include($dir.$t_path.$c_cmodel);
}
?>
  • 跟踪變量發現$c_mcmodel變量可控且沒有任何過濾。
    image

/admin/cms_channel_add.php

  • 添加頻道,上傳圖片馬,頻道模型填入圖片馬地址,地址前面加../../跳轉到包含文件目錄。

image

  • 最後在‘管理頻道’裏面打開到你添加的‘頻道’鏈接:
    image
版权声明:本文为[jzking121]所创,转载请带上原文链接,感谢。 https://gsmany.com/2021/08/20210815194944370o.html