session文件包含漏洞详解

今天继续给大家介绍渗透测试相关知识,本文主要内容是session文件包含漏洞详解。

免责声明:
本文所介绍的内容仅做学习交流使用,严禁利用文中技术进行非法行为,否则造成一切严重后果自负!
再次强调:严禁对未授权设备进行渗透测试!

一、session文件包含简介

关于PHP session相关知识可以参考文章:PHP session相关知识详解
关于session文件包含,指的是有时Web系统会把我们的一些变量写入session文件,我们可以借此机制将PHP木马写入PHP文件中,然后使用文件包含来包含该session文件,以此获取目标系统的shell权限。
这种攻击方式的好处在于,可以利用保存在session中的数据;这种攻击方式的前提在于我们可以准确的找到session文件的存储目录。

二、session文件包含实战

接下来,我们就进行session文件包含的实战。
我们在LNMP架构(关于LNMP架构的简单部署请参考文章:LNMP详解(四)——LNMP原理与简单部署,实际上,本次实战可以不部署MySQL,只需要部署Nginx和PHP即可)中,session相关脚本test.php如下所示:

<?php
session_start();
$sess=$_GET['sess'];
$_SESSION['var_session']=$sess;
?>

文件包含相关脚本如下所示:

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

我们首先访问test.php,并且控制生成含有phpinfo()函数的变量,访问URL如下所示:

test.php?sess=<?php phpinfo();?>

访问结果如下所示:
在这里插入图片描述
从上图中我们可以看到,我们可以在cookie中,查找到session ID编号。在默认情况下,Nginx对于session文件的编号就是字符串"sess_"后面加上session ID编号。
完成上述访问后,我们可以看到在Web服务器上生成了session文件(如果是YUM方式安装的Nginx,那么session文件默认保存目录在/var/lib/php/session/下),如下所示:
在这里插入图片描述
此时,我们使用文件包含漏洞,包含该session文件,结果如下所示:
在这里插入图片描述
从上图可以看出,我们session文件包含成功!如果我们把session变量修改为PHP木马,那么我们就可以拿到目标站点shell权限了。
原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200

  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

永远是少年啊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值