在路径穿越漏洞的基础上,可能通过 swapfile 泄露明文密码
如果一个系统存在路径穿越漏洞,外部可能读取到正在使用的 swapfile 。
测试发现,虽然是概率性的,但 swapfile 中确实可能存在账号和应用的明文密码。似乎与近期是否有成功登录的行为有关。
进一步推论,如果攻击者采用一些手段推高内存占用,可能会导致更多信息外溢到 swapfile 从而被截获。
xiaohack博客专注前沿科技动态与实用技术干货分享,涵盖 AI 代理、大模型应用、编程工具、文档解析、SEO 实战、自动化部署等内容,提供开源项目教程、科技资讯日报、工具使用指南,助力开发者、AI 爱好者获取前沿技术与实战经验。
如果一个系统存在路径穿越漏洞,外部可能读取到正在使用的 swapfile 。
测试发现,虽然是概率性的,但 swapfile 中确实可能存在账号和应用的明文密码。似乎与近期是否有成功登录的行为有关。
进一步推论,如果攻击者采用一些手段推高内存占用,可能会导致更多信息外溢到 swapfile 从而被截获。
想让 swapfile 变大一些?环境很复杂?不会太难的,我们一步步来。
根据我的环境,在搜索引擎搜索 swapfile 分配或扩展相关内容,可得:
稍微分析一下:
/@/swap/swapfile),而是应该创建一个 swap 子卷来存放 swapfile(/@swap/swapfile)以防止 timeshift 在备份根目录子卷时把 swapfile 也备份进去了。/etc/fstab 配置的内容挂载分区,我最好在取消挂载 swapfile 或本操作系统未运行时对文件系统修改以避免对正在运行的操作系统产生未知的影响。重启到 live 系统:
我使用 Ventoy 启动了硬盘中的 Manjaro Linux 安装镜像;
初始化挂载环境:
/mnt 为空且未挂载任何分区:sudo findmnt -R /mnt,如果不为空,逐个手动取消挂载;sudo mkdir /mnt/volume && sudo mkdir /mnt/subvolume;获取对应根目录的分区设备文件名:
执行:sudo fdisk -l,得到如 /dev/sda2 或 /dev/nvme0n1p2,这里以 /dev/nvme0n1p3 为例;
挂载分区:
执行:sudo mount /dev/nvme0n1p3 /mnt/volume;
获取子卷 ID:
执行:sudo btrfs subvolume list /mnt/volume:
ID 256 gen 272550 top level 5 path @
ID 257 gen 272550 top level 5 path @home
ID 258 gen 272528 top level 5 path @cache
ID 259 gen 272550 top level 5 path @log
ID 260 gen 260974 top level 5 path @swap
……
可见子卷 @swap ID 为 260,可跳至第 7 步。
若无 @swap 子卷,跳至第 6 步;
创建子卷:
执行:sudo btrfs subvolume create /mnt/volume/@swap;
创建完成后跳至第 5 步;
挂载子卷:
执行:sudo mount -o subvolid=260 /dev/nvme0n1p3 /mnt/subvolume;
删除原有 swapfile:
执行:sudo rm /mnt/subvolume/swapfile;
创建新的 swapfile,替换 48g 为其他您想要的容量:
执行:sudo btrfs filesystem mkswapfile --size 48g --uuid clear /mnt/subvolume/swapfile;
配置 swapfile 自动挂载:
编辑 /etc/fstab:sudo nano /mnt/volume/@/etc/fstab;
加上以下这两行保存退出(如果已有,就不用加):
UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx /swap btrfs subvol=/@swap,defaults,noatime 0 0
/swap/swapfile swap swap defaults 0 0
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx 需替换为根目录 / 前的 UUID 值;
清理并重启:
执行:sudo umount /mnt/subvolume && sudo umount /mnt/volume && sudo shutdown -r now。
swapon
NAME TYPE SIZE USED PRIO
/swap/swapfile file 48G 0B -2