博主昵称:跳楼梯企鹅
创作初心:本博客的初心为与技术朋友们相互交流,每个人的技术都存在短板,博主也是一样,虚心求教,希望各位技术友给予指导。
博主座右铭:发现光,追随光,成为光,散发光;
博主研究方向:渗透测试、机器学习 ;
博主寄语:感谢各位技术友的支持,您的支持就是我前进的动力 ;
一、什么是session
在计算机中,尤其是在网络应用中,称为“会话控制”。
个人理解:就是我们在登陆一个站点,内部有一个账号有效时间的判断机制,就相当于我们刷开门禁卡,刷开之后,门会打开,过几秒钟后,自动关闭,这个几秒钟就是可以理解为session会话控制。
二、使用session进行文件包含
(1)查询session存储文件名称
(2)分析
我们知道文件名称之后们需要知道哪些我们是可以控制的,这里我们能控制得只有一个admin用户名。
(3)进一步分析
如下图,那么如果我们在用户名中可以识别这个php代码,是不是可以进行文件包含呢?
(4)准备测试
为了实验效果更加直观,在靶场目录下加入了一个session.php文件
<?php session_start(); $ctfs=$_GET['ctfs']; $_SESSION["username"]=$ctfs; ?>
(5)测试
查看这个文件
(6)执行以下命令试一试
这里我们试一试phpinfo这个命令,页面应该是没有任何回显
(7)打开session会话文件看一下,是不是传入了
能看到在最后面传入了phpinfo的php代码
(8)构造文件包含链接
(9)测试
这里我们顺利的拿到了phpinfo文件,说明我们成功的利用session复现了文件包含漏洞