Session文件包含

利用条件

1、Session储存位置可以获取

2、Session内容可控

复现过程

1、搭两个web网站,一个用于文件包含,一个用于控制Session文件内容

<VirtualHost 192.168.239.134>
  DocumentRoot "/www/session"
     <Directory "/www/session">
                AllowOverride None
                Require all granted
     </Directory>
</VirtualHost>
listen 8000
<VirtualHost 192.168.239.134:8000>
  DocumentRoot "/www/include"
     <Directory "/www/include">
                AllowOverride None
                Require all granted
     </Directory>
</VirtualHost>

文件包含根目录下的文件内容,由于简单复现下,所以include.php没有任何限制和过滤

 Session根目录下的文件内容

 2、利用Session网站控制Session文件内容,这里直接上传一句话木马

可以看到我们写的木马通过ctfsGET传参方式传入了Session文件中

 

cat一下Session文件

扫描二维码关注公众号,回复: 16370550 查看本文章

3、通过文件包含去包含Session文件中的木马

这里就需要知道Session文件存放的位置,我们可以通过phpinfo的信息获取,也可以猜测默认的Session存储位置进行尝试。我这里使用默认的/var/lib/php/session 

然后我们还需要知道session文件名,session文件名一般是以sess_session id命名的,而session id我们可以通过开发者模式获取

复制到文件包含中filename参数中,提交

 

 成功包含木马,使用蚁剑getshell

 总结

首先通过Session内容可控这点上传木马到session文件,然后获取session文件路径,最后使用文件包含去包含木马

猜你喜欢

转载自blog.csdn.net/CQ17743254852/article/details/131604344
今日推荐