session文件包含漏洞復現


一、環境搭建

文件包含漏洞測試代碼  file.php

<?php
    $filename  = $_GET['filename'];
    include($filename);
?>

session內容可控測試代碼  session.php

<?php
session_start();
$ctfs=$_GET['ctfs'];
$_SESSION["username"]=$ctfs;
?>

 

二、利用條件

1、session存儲位置可以獲取

可以通過phpinfo查看

 

 

 

 也可以通過猜測,例如linux默認存儲在/var/lib/php/session目錄下

 

2、session可控

當session可控時,就可以傳入惡意代碼

 

3、知道session文件名

session文件名的構造是sess_   +  sessionid    ,  sessionid在cookie中可以查看

 

 

 

三、漏洞利用

 

 這里可以傳入可控的session,將<?php phpinfo(); ?>寫入session文件

 

通過phpinfo、或者猜測,我們知道了session存儲位置為D:\phpStudy\tmp\tmp

 

現在來看session文件名,所以文件名為sess_p3dgmgo7abevkeoe5dpo3r1qp1

 

 

在文件包含漏洞的頁面,提交getshell

 

 

整體思路:通過可控的session值,傳入惡意代碼,找到session文件地址、文件名,通過文件包含漏洞包含session文件,達到getshell的目的

 

參考:

https://www.freebuf.com/articles/web/182280.html


免責聲明!

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



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