[NSSRound#23 misc] 前两题

这个周末NSS个人赛是个MISC,这个好久没怎么玩了,结果不会了。只作出一题来,不过参与的人比较少,每题解出数和也不到50。前50吧:)

画师

给了一个xml文件,看内容有 mxGraphModel 标签,应该是某个东西画的矢量图。结果搜了半天也没找着怎么弄。下载的库都过于复杂一时看不懂。结果结束后问群里结果有个在线的。

Flowchart Maker & Online Diagram Software

导进去啥都没有,仔细看下原文发现 strokeColor=#FFFFFF; 和 opacity=0;这应该是说白色全透明。改为黑色不透明。再导入后看不懂,但大概有些意思。明显是反了。

全选-调整图形-垂直 得到可看的:

ez_math

没有附近件,远程连接后,是一个算24的程序。于是从网上搜。这些人写的真烂。找到一个好点的,还有BUG,居然1145,3388不会算。自己写一个吧。

很久不写算法程序了,思路很简单,就是所有4个数字和3个符号的逆波兰式排列(序列由数字和符号组成,符号和前边的符号数(含当前符号)比它前边的数字数少),比如说33+这种排列只有5种。然后计算这个式子,由于有/号所以要小处理一下。

等打出字来,发现并不给flag,flag由前边的True/False组成,显然这题并不用计算,爆破也可以。

还是把费劲写的程序放上吧。

from pwn import *
import itertools 


def RPN(a):
    b = []
    for v in a:
        if isinstance(v,str):
            try:
                b.append(eval(f"{b.pop()} {v} {b.pop()}"))
            except:
                return False
        else:
            b.append(v)
    if abs(b[0]-24) <= 0.0000001:
        #print(a)    #8/(3-3/8) [3, 8, '/', 3, '-', 8, '/']
        return True 
    else:
        return False

def all_way(a):
    fs = '+-*/'
    for v in itertools.permutations(a):
        for f in itertools.product(fs,repeat=3):
            if RPN([v[0],v[1],f[0],v[2],f[1],v[3],f[2]]): return True
            if RPN([v[0],v[1],f[0],v[2],v[3],f[1],f[2]]): return True
            if RPN([v[0],v[1],v[2],f[0],f[1],v[3],f[2]]): return True
            if RPN([v[0],v[1],v[2],f[0],v[3],f[1],f[2]]): return True
            if RPN([v[0],v[1],v[2],v[3],f[0],f[1],f[2]]): return True
    else:
        return False

#context.log_level = 'debug'
p = remote('node1.anna.nssctf.cn', 28528)

bit = ''
flag = ''
while True:
    if len(bit) == 8:
        flag += chr(int(bit,2))
        print(flag)
        bit = ''
    msg = p.recvuntil(b']\n').split(b'\n')[-2]
    #msg = '[5,2,5,5]'
    num = eval(msg)
    
    r = all_way(num)
    if r:
        bit +='0'
    else:
        bit +='1'
    p.sendlineafter(b': ', str(r).encode())
                        
    
#NSSCTF{04e60768-66bf-412e-bec0-b8ef241acb1d}

后边两题连附件都没下,可能是卡点的时候有人交了,一共3个,这种就太难了我肯定不会。回头看谁有附件和WP再复现吧。

相关推荐

  1. [NSSRound#21] pwn专场

    2024-04-30 05:18:01       26 阅读
  2. 【随想】每日Day.21

    2024-04-30 05:18:01       51 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-30 05:18:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-30 05:18:01       100 阅读
  3. 在Django里面运行非项目文件

    2024-04-30 05:18:01       82 阅读
  4. Python语言-面向对象

    2024-04-30 05:18:01       91 阅读

热门阅读

  1. IP路由安全:保护网络免受威胁

    2024-04-30 05:18:01       26 阅读
  2. Bash脚本-快查快用总览

    2024-04-30 05:18:01       34 阅读
  3. HOT100与剑指Offer

    2024-04-30 05:18:01       35 阅读
  4. 【QEMU系统分析之实例篇(三)】

    2024-04-30 05:18:01       27 阅读
  5. Centos7中更改IP为静态地址

    2024-04-30 05:18:01       35 阅读