记一次ctf文件上传
事情起因
最近有空就将之前参与过的CTF其中一道题做为笔记写出来
(说实在的 CTF参加的不多 偶尔参与一次体会挺深的 和实战比起来区别还是挺大的)
容器启动 画面很简单
- 录枚举找到了有个index.php.bak文件下载下来 就是这个样子基本上就是源代码备份文件了。
根据文档说明 大概知道这道题就是一个简单的上传题,难点就是上传后会随机创建一个上传目录,只要找到这个上传目录这道题就解了
-
随机目录会进行sha1(rand(0,1000));就能得到随机上传目录
-
后台大概为/工作目录/upload/0-1000的sha1值/你上传的文件名。
-
url基本为http://域名:端口/upload/0-1000的sha1值/你上传的文件名
<?php
//error_reporting(0);
if(!isset($_SESSION['source']))
{
$_SESSION['source'] = sha1(rand(0,1000));
}
$finalPos = getcwd() . "/upload/" . sha1($_SESSION['source']);
$filePos = $finalPos . "/" . basename($fileName);
- 直接上传phpinfo文件试试
-
进行sha1(rand(0,1000));
-
根据回显的状态码以及长度判断出随机上传目录
同上替换webshell 成功找到flag
星光不问赶路人,岁月不负有心人。无产阶级坚定拥护者!本博客很垃圾,严禁转载!