佛系solo了一天,最后还是和上次的SCTF一样都是48名,感觉一个人做时间完全不够用,还有几道re和pwn感觉都可以做,但是已经没什么时间了。
Re
Gorev
很简单的加密,用key对输入进行逐字节异或,但是key进行随机的位置交换,位数不多并且知道flag的格式,可以尝试手动恢复。
1 | res = "fiAGBkgXN3McFy9hAHRfCwYaIjQCRDFsXC8ZYBFmEDU=" |
Ezcode
chall是一个下面这样子的脚本,看样子是powershell,题目中也有提示是windows用户。
1 | ('(' | % { ${-``} = + $() } { ${]} = ${-``} } { ${!;*} = ++ ${-``} } { ${*@ } = ( ${-``} = ${-``} + ${!;*} ) } { ${=$``} = ( ${-``} = ${-``} + ${!;*} ) } { ${ ]} = (${-``} = ${-``} + ${!;*} ) } { ${!} = (${-``} = ${-``} + ${!;*} ) } { ${#.} = (${-``} = ${-``} + ${!;*} ) } { ${(} = (${-``} = ${-``} + ${!;*} ) } { ${)``} = (${-``} = ${-``} + ${!;*} ) } { ${``*%} = (${-``} = ${-``} + ${!;*}) } { ${$%} = "[" + "$(@{ })"[${(} ] + "$(@{ })"[ "${!;*}${``*%}" ] + "$(@{ } ) "[ "${*@ }${]}" ] + "$?"[${!;*} ] + "]" } { ${-``} = "".("$( @{} ) "[ "${!;*}${ ]}" ] + "$(@{}) "[ "${!;*}${#.}"] + "$( @{ } )"[${]}] + "$(@{} )"[${ ]}] + "$? "[ ${!;*}] + "$( @{})"[${=$``} ]) } { ${-``} = "$(@{ } )"[ "${!;*}" + "${ ]}"] + "$(@{ }) "[${ ]} ] + "${-``}"["${*@ }" + "${(}" ] } ) ; |
去除最后的管道看到一些输出,根据输出解两次base64得到的是假flag,继续分析代码,发现这段代码只进行了输出,并没有真正执行,找到真正执行的代码,用write-output输出出来
1 | [CHar]99+[CHar]108+[CHar]97+[CHar]115+[CHar]115+[CHar]32+[CHar]99+[CHar]104+[CHar]105+[CHar]112+[CHar]101+[CHar]114+[CHar]40+[CHar]41+[CHar]58+[CHar]10+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]100+[CHar]101+[CHar]102+[CHar]32+[CHar]95+[CHar]95+[CHar]105+[CHar]110+[CHar]105+[CHar]116+[CHar]95+[CHar]95+[CHar]40+[CHar]115+[CHar]101+[CHar]108+[CHar]102+[CHar]41+[CHar]58+[CHar]10+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]115+[CHar]101+[CHar]108+[CHar]102+[CHar]46+[CHar]100+[CHar]32+[CHar]61+[CHar]32+[CHar]48+[CHar]120+[CHar]56+[CHar]55+[CHar]54+[CHar]53+[CHar]52+[CHar]51+[CHar]50+[CHar]49+[CHar]10+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]107+[CHar]48+[CHar]32+[CHar]61+[CHar]32+[CHar]48+[CHar]120+[CHar]54+[CHar]55+[CHar]52+[CHar]53+[CHar]50+[CHar]51+[CHar]48+[CHar]49+[CHar]10+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]107+[CHar]49+[CHar]32+[CHar]61+[CHar]32+[CHar]48+[CHar]120+[CHar]101+[CHar]102+[CHar]99+[CHar]100+[CHar]97+[CHar]98+[CHar]56+[CHar]57+[CHar]10+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]107+[CHar]50+[CHar]32+[CHar]61+[CHar]32+[CHar]48+[CHar]120+[CHar]57+[CHar]56+[CHar]98+[CHar]97+[CHar]100+[CHar]99+[CHar]102+[CHar]101+[CHar]10+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]107+[CHar]51+[CHar]32+[CHar]61+[CHar]32+[CHar]48+[CHar]120+[CHar]49+[CHar]48+[CHar]51+[CHar]50+[CHar]53+[CHar]52+[CHar]55+[CHar]54+[CHar]10+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]115+[CHar]101+[CHar]108+[CHar]102+[CHar]46+[CHar]107+[CHar]32+[CHar]61+[CHar]32+[CHar]91+[CHar]107+[CHar]48+[CHar]44+[CHar]32+[CHar]107+[CHar]49+[CHar]44+[CHar]32+[CHar]107+[CHar]50+[CHar]44+[CHar]32+[CHar]107+[CHar]51+[CHar]93+[CHar]10+[CHar]10+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]100+[CHar]101+[CHar]102+[CHar]32+[CHar]101+[CHar]40+[CHar]115+[CHar]101+[CHar]108+[CHar]102+[CHar]44+[CHar]32+[CHar]110+[CHar]44+[CHar]32+[CHar]118+[CHar]41+[CHar]58+[CHar]10+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]102+[CHar]114+[CHar]111+[CHar]109+[CHar]32+[CHar]99+[CHar]116+[CHar]121+[CHar]112+[CHar]101+[CHar]115+[CHar]32+[CHar]105+[CHar]109+[CHar]112+[CHar]111+[CHar]114+[CHar]116+[CHar]32+[CHar]99+[CHar]95+[CHar]117+[CHar]105+[CHar]110+[CHar]116+[CHar]51+[CHar]50+[CHar]10+[CHar]10+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]100+[CHar]101+[CHar]102+[CHar]32+[CHar]77+[CHar]88+[CHar]40+[CHar]122+[CHar]44+[CHar]32+[CHar]121+[CHar]44+[CHar]32+[CHar]116+[CHar]111+[CHar]116+[CHar]97+[CHar]108+[CHar]44+[CHar]32+[CHar]107+[CHar]101+[CHar]121+[CHar]44+[CHar]32+[CHar]112+[CHar]44+[CHar]32+[CHar]101+[CHar]41+[CHar]58+[CHar]10+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]116+[CHar]101+[CHar]109+[CHar]112+[CHar]49+[CHar]32+[CHar]61+[CHar]32+[CHar]40+[CHar]122+[CHar]46+[CHar]118+[CHar]97+[CHar]108+[CHar]117+[CHar]101+[CHar]32+[CHar]62+[CHar]62+[CHar]32+[CHar]54+[CHar]32+[CHar]94+[CHar]32+[CHar]121+[CHar]46+[CHar]118+[CHar]97+[CHar]108+[CHar]117+[CHar]101+[CHar]32+[CHar]60+[CHar]60+[CHar]32+[CHar]52+[CHar]41+[CHar]32+[CHar]43+[CHar]32+[CHar]92+[CHar]10+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]40+[CHar]121+[CHar]46+[CHar]118+[CHar]97+[CHar]108+[CHar]117+[CHar]101+[CHar]32+[CHar]62+[CHar]62+[CHar]32+[CHar]50+[CHar]32+[CHar]94+[CHar]32+[CHar]122+[CHar]46+[CHar]118+[CHar]97+[CHar]108+[CHar]117+[CHar]101+[CHar]32+[CHar]60+[CHar]60+[CHar]32+[CHar]53+[CHar]41+[CHar]10+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]116+[CHar]101+[CHar]109+[CHar]112+[CHar]50+[CHar]32+[CHar]61+[CHar]32+[CHar]40+[CHar]116+[CHar]111+[CHar]116+[CHar]97+[CHar]108+[CHar]46+[CHar]118+[CHar]97+[CHar]108+[CHar]117+[CHar]101+[CHar]32+[CHar]94+[CHar]32+[CHar]121+[CHar]46+[CHar]118+[CHar]97+[CHar]108+[CHar]117+[CHar]101+[CHar]41+[CHar]32+[CHar]43+[CHar]32+[CHar]92+[CHar]10+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]40+[CHar]107+[CHar]101+[CHar]121+[CHar]91+[CHar]40+[CHar]112+[CHar]32+[CHar]38+[CHar]32+[CHar]51+[CHar]41+[CHar]32+[CHar]94+[CHar]32+[CHar]101+[CHar]46+[CHar]118+[CHar]97+[CHar]108+[CHar]117+[CHar]101+[CHar]93+[CHar]32+[CHar]94+[CHar]32+[CHar]122+[CHar]46+[CHar]118+[CHar]97+[CHar]108+[CHar]117+[CHar]101+[CHar]41+[CHar]10+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]114+[CHar]101+[CHar]116+[CHar]117+[CHar]114+[CHar]110+[CHar]32+[CHar]99+[CHar]95+[CHar]117+[CHar]105+[CHar]110+[CHar]116+[CHar]51+[CHar]50+[CHar]40+[CHar]116+[CHar]101+[CHar]109+[CHar]112+[CHar]49+[CHar]32+[CHar]94+[CHar]32+[CHar]116+[CHar]101+[CHar]109+[CHar]112+[CHar]50+[CHar]41+[CHar]10+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]107+[CHar]101+[CHar]121+[CHar]32+[CHar]61+[CHar]32+[CHar]115+[CHar]101+[CHar]108+[CHar]102+[CHar]46+[CHar]107+[CHar]10+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]100+[CHar]101+[CHar]108+[CHar]116+[CHar]97+[CHar]32+[CHar]61+[CHar]32+[CHar]115+[CHar]101+[CHar]108+[CHar]102+[CHar]46+[CHar]100+[CHar]10+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]114+[CHar]111+[CHar]117+[CHar]110+[CHar]100+[CHar]115+[CHar]32+[CHar]61+[CHar]32+[CHar]54+[CHar]32+[CHar]43+[CHar]32+[CHar]53+[CHar]50+[CHar]47+[CHar]47+[CHar]110+[CHar]10+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]116+[CHar]111+[CHar]116+[CHar]97+[CHar]108+[CHar]32+[CHar]61+[CHar]32+[CHar]99+[CHar]95+[CHar]117+[CHar]105+[CHar]110+[CHar]116+[CHar]51+[CHar]50+[CHar]40+[CHar]48+[CHar]41+[CHar]10+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]122+[CHar]32+[CHar]61+[CHar]32+[CHar]99+[CHar]95+[CHar]117+[CHar]105+[CHar]110+[CHar]116+[CHar]51+[CHar]50+[CHar]40+[CHar]118+[CHar]91+[CHar]110+[CHar]45+[CHar]49+[CHar]93+[CHar]41+[CHar]10+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]101+[CHar]32+[CHar]61+[CHar]32+[CHar]99+[CHar]95+[CHar]117+[CHar]105+[CHar]110+[CHar]116+[CHar]51+[CHar]50+[CHar]40+[CHar]48+[CHar]41+[CHar]10+[CHar]10+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]119+[CHar]104+[CHar]105+[CHar]108+[CHar]101+[CHar]32+[CHar]114+[CHar]111+[CHar]117+[CHar]110+[CHar]100+[CHar]115+[CHar]32+[CHar]62+[CHar]32+[CHar]48+[CHar]58+[CHar]10+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]116+[CHar]111+[CHar]116+[CHar]97+[CHar]108+[CHar]46+[CHar]118+[CHar]97+[CHar]108+[CHar]117+[CHar]101+[CHar]32+[CHar]43+[CHar]61+[CHar]32+[CHar]100+[CHar]101+[CHar]108+[CHar]116+[CHar]97+[CHar]10+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]101+[CHar]46+[CHar]118+[CHar]97+[CHar]108+[CHar]117+[CHar]101+[CHar]32+[CHar]61+[CHar]32+[CHar]40+[CHar]116+[CHar]111+[CHar]116+[CHar]97+[CHar]108+[CHar]46+[CHar]118+[CHar]97+[CHar]108+[CHar]117+[CHar]101+[CHar]32+[CHar]62+[CHar]62+[CHar]32+[CHar]50+[CHar]41+[CHar]32+[CHar]38+[CHar]32+[CHar]51+[CHar]10+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]102+[CHar]111+[CHar]114+[CHar]32+[CHar]112+[CHar]32+[CHar]105+[CHar]110+[CHar]32+[CHar]114+[CHar]97+[CHar]110+[CHar]103+[CHar]101+[CHar]40+[CHar]110+[CHar]45+[CHar]49+[CHar]41+[CHar]58+[CHar]10+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]121+[CHar]32+[CHar]61+[CHar]32+[CHar]99+[CHar]95+[CHar]117+[CHar]105+[CHar]110+[CHar]116+[CHar]51+[CHar]50+[CHar]40+[CHar]118+[CHar]91+[CHar]112+[CHar]43+[CHar]49+[CHar]93+[CHar]41+[CHar]10+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]118+[CHar]91+[CHar]112+[CHar]93+[CHar]32+[CHar]61+[CHar]32+[CHar]99+[CHar]95+[CHar]117+[CHar]105+[CHar]110+[CHar]116+[CHar]51+[CHar]50+[CHar]40+[CHar]118+[CHar]91+[CHar]112+[CHar]93+[CHar]32+[CHar]43+[CHar]32+[CHar]77+[CHar]88+[CHar]40+[CHar]122+[CHar]44+[CHar]32+[CHar]121+[CHar]44+[CHar]32+[CHar]116+[CHar]111+[CHar]116+[CHar]97+[CHar]108+[CHar]44+[CHar]32+[CHar]107+[CHar]101+[CHar]121+[CHar]44+[CHar]32+[CHar]112+[CHar]44+[CHar]32+[CHar]101+[CHar]41+[CHar]46+[CHar]118+[CHar]97+[CHar]108+[CHar]117+[CHar]101+[CHar]41+[CHar]46+[CHar]118+[CHar]97+[CHar]108+[CHar]117+[CHar]101+[CHar]10+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]122+[CHar]46+[CHar]118+[CHar]97+[CHar]108+[CHar]117+[CHar]101+[CHar]32+[CHar]61+[CHar]32+[CHar]118+[CHar]91+[CHar]112+[CHar]93+[CHar]10+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]121+[CHar]32+[CHar]61+[CHar]32+[CHar]99+[CHar]95+[CHar]117+[CHar]105+[CHar]110+[CHar]116+[CHar]51+[CHar]50+[CHar]40+[CHar]118+[CHar]91+[CHar]48+[CHar]93+[CHar]41+[CHar]10+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]118+[CHar]91+[CHar]110+[CHar]45+[CHar]49+[CHar]93+[CHar]32+[CHar]61+[CHar]32+[CHar]99+[CHar]95+[CHar]117+[CHar]105+[CHar]110+[CHar]116+[CHar]51+[CHar]50+[CHar]40+[CHar]118+[CHar]91+[CHar]110+[CHar]45+[CHar]49+[CHar]93+[CHar]32+[CHar]43+[CHar]32+[CHar]77+[CHar]88+[CHar]40+[CHar]122+[CHar]44+[CHar]32+[CHar]121+[CHar]44+[CHar]32+[CHar]116+[CHar]111+[CHar]116+[CHar]97+[CHar]108+[CHar]44+[CHar]10+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]107+[CHar]101+[CHar]121+[CHar]44+[CHar]32+[CHar]110+[CHar]45+[CHar]49+[CHar]44+[CHar]32+[CHar]101+[CHar]41+[CHar]46+[CHar]118+[CHar]97+[CHar]108+[CHar]117+[CHar]101+[CHar]41+[CHar]46+[CHar]118+[CHar]97+[CHar]108+[CHar]117+[CHar]101+[CHar]10+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]122+[CHar]46+[CHar]118+[CHar]97+[CHar]108+[CHar]117+[CHar]101+[CHar]32+[CHar]61+[CHar]32+[CHar]118+[CHar]91+[CHar]110+[CHar]45+[CHar]49+[CHar]93+[CHar]10+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]114+[CHar]111+[CHar]117+[CHar]110+[CHar]100+[CHar]115+[CHar]32+[CHar]45+[CHar]61+[CHar]32+[CHar]49+[CHar]10+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]114+[CHar]101+[CHar]116+[CHar]117+[CHar]114+[CHar]110+[CHar]32+[CHar]118+[CHar]10+[CHar]10+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]100+[CHar]101+[CHar]102+[CHar]32+[CHar]98+[CHar]121+[CHar]116+[CHar]101+[CHar]115+[CHar]50+[CHar]105+[CHar]110+[CHar]116+[CHar]115+[CHar]40+[CHar]115+[CHar]101+[CHar]108+[CHar]102+[CHar]44+[CHar]99+[CHar]115+[CHar]58+[CHar]98+[CHar]121+[CHar]116+[CHar]101+[CHar]115+[CHar]41+[CHar]45+[CHar]62+[CHar]108+[CHar]105+[CHar]115+[CHar]116+[CHar]58+[CHar]10+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]110+[CHar]101+[CHar]119+[CHar]95+[CHar]108+[CHar]101+[CHar]110+[CHar]103+[CHar]116+[CHar]104+[CHar]61+[CHar]108+[CHar]101+[CHar]110+[CHar]40+[CHar]99+[CHar]115+[CHar]41+[CHar]43+[CHar]40+[CHar]56+[CHar]45+[CHar]108+[CHar]101+[CHar]110+[CHar]40+[CHar]99+[CHar]115+[CHar]41+[CHar]37+[CHar]56+[CHar]41+[CHar]37+[CHar]56+[CHar]10+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]98+[CHar]97+[CHar]114+[CHar]114+[CHar]97+[CHar]121+[CHar]61+[CHar]99+[CHar]115+[CHar]46+[CHar]108+[CHar]106+[CHar]117+[CHar]115+[CHar]116+[CHar]40+[CHar]110+[CHar]101+[CHar]119+[CHar]95+[CHar]108+[CHar]101+[CHar]110+[CHar]103+[CHar]116+[CHar]104+[CHar]44+[CHar]98+[CHar]39+[CHar]92+[CHar]120+[CHar]48+[CHar]48+[CHar]39+[CHar]41+[CHar]10+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]105+[CHar]61+[CHar]48+[CHar]10+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]118+[CHar]61+[CHar]91+[CHar]93+[CHar]10+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]119+[CHar]104+[CHar]105+[CHar]108+[CHar]101+[CHar]32+[CHar]105+[CHar]32+[CHar]60+[CHar]32+[CHar]110+[CHar]101+[CHar]119+[CHar]95+[CHar]108+[CHar]101+[CHar]110+[CHar]103+[CHar]116+[CHar]104+[CHar]58+[CHar]10+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]118+[CHar]48+[CHar]32+[CHar]61+[CHar]32+[CHar]105+[CHar]110+[CHar]116+[CHar]46+[CHar]102+[CHar]114+[CHar]111+[CHar]109+[CHar]95+[CHar]98+[CHar]121+[CHar]116+[CHar]101+[CHar]115+[CHar]40+[CHar]98+[CHar]97+[CHar]114+[CHar]114+[CHar]97+[CHar]121+[CHar]91+[CHar]105+[CHar]58+[CHar]105+[CHar]43+[CHar]52+[CHar]93+[CHar]44+[CHar]32+[CHar]39+[CHar]108+[CHar]105+[CHar]116+[CHar]116+[CHar]108+[CHar]101+[CHar]39+[CHar]41+[CHar]10+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]118+[CHar]49+[CHar]32+[CHar]61+[CHar]32+[CHar]105+[CHar]110+[CHar]116+[CHar]46+[CHar]102+[CHar]114+[CHar]111+[CHar]109+[CHar]95+[CHar]98+[CHar]121+[CHar]116+[CHar]101+[CHar]115+[CHar]40+[CHar]98+[CHar]97+[CHar]114+[CHar]114+[CHar]97+[CHar]121+[CHar]91+[CHar]105+[CHar]43+[CHar]52+[CHar]58+[CHar]105+[CHar]43+[CHar]56+[CHar]93+[CHar]44+[CHar]32+[CHar]39+[CHar]108+[CHar]105+[CHar]116+[CHar]116+[CHar]108+[CHar]101+[CHar]39+[CHar]41+[CHar]10+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]118+[CHar]46+[CHar]97+[CHar]112+[CHar]112+[CHar]101+[CHar]110+[CHar]100+[CHar]40+[CHar]118+[CHar]48+[CHar]41+[CHar]10+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]118+[CHar]46+[CHar]97+[CHar]112+[CHar]112+[CHar]101+[CHar]110+[CHar]100+[CHar]40+[CHar]118+[CHar]49+[CHar]41+[CHar]10+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]105+[CHar]32+[CHar]43+[CHar]61+[CHar]32+[CHar]56+[CHar]10+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]114+[CHar]101+[CHar]116+[CHar]117+[CHar]114+[CHar]110+[CHar]32+[CHar]118+[CHar]10+[CHar]10+[CHar]100+[CHar]101+[CHar]102+[CHar]32+[CHar]99+[CHar]104+[CHar]101+[CHar]99+[CHar]107+[CHar]40+[CHar]105+[CHar]110+[CHar]115+[CHar]116+[CHar]114+[CHar]58+[CHar]115+[CHar]116+[CHar]114+[CHar]44+[CHar]99+[CHar]104+[CHar]101+[CHar]99+[CHar]107+[CHar]108+[CHar]105+[CHar]115+[CHar]116+[CHar]58+[CHar]108+[CHar]105+[CHar]115+[CHar]116+[CHar]41+[CHar]45+[CHar]62+[CHar]105+[CHar]110+[CHar]116+[CHar]58+[CHar]10+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]108+[CHar]101+[CHar]110+[CHar]103+[CHar]116+[CHar]104+[CHar]61+[CHar]108+[CHar]101+[CHar]110+[CHar]40+[CHar]105+[CHar]110+[CHar]115+[CHar]116+[CHar]114+[CHar]41+[CHar]10+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]105+[CHar]102+[CHar]32+[CHar]108+[CHar]101+[CHar]110+[CHar]103+[CHar]116+[CHar]104+[CHar]37+[CHar]56+[CHar]58+[CHar]10+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]112+[CHar]114+[CHar]105+[CHar]110+[CHar]116+[CHar]40+[CHar]34+[CHar]73+[CHar]110+[CHar]99+[CHar]111+[CHar]114+[CHar]114+[CHar]101+[CHar]99+[CHar]116+[CHar]32+[CHar]102+[CHar]111+[CHar]114+[CHar]109+[CHar]97+[CHar]116+[CHar]46+[CHar]34+[CHar]41+[CHar]10+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]101+[CHar]120+[CHar]105+[CHar]116+[CHar]40+[CHar]49+[CHar]41+[CHar]10+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]99+[CHar]61+[CHar]99+[CHar]104+[CHar]105+[CHar]112+[CHar]101+[CHar]114+[CHar]40+[CHar]41+[CHar]10+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]118+[CHar]32+[CHar]61+[CHar]32+[CHar]99+[CHar]46+[CHar]98+[CHar]121+[CHar]116+[CHar]101+[CHar]115+[CHar]50+[CHar]105+[CHar]110+[CHar]116+[CHar]115+[CHar]40+[CHar]105+[CHar]110+[CHar]115+[CHar]116+[CHar]114+[CHar]46+[CHar]101+[CHar]110+[CHar]99+[CHar]111+[CHar]100+[CHar]101+[CHar]40+[CHar]41+[CHar]41+[CHar]10+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]111+[CHar]117+[CHar]116+[CHar]112+[CHar]117+[CHar]116+[CHar]61+[CHar]108+[CHar]105+[CHar]115+[CHar]116+[CHar]40+[CHar]99+[CHar]46+[CHar]101+[CHar]40+[CHar]108+[CHar]101+[CHar]110+[CHar]40+[CHar]118+[CHar]41+[CHar]44+[CHar]118+[CHar]41+[CHar]41+[CHar]10+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]105+[CHar]61+[CHar]48+[CHar]10+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]119+[CHar]104+[CHar]105+[CHar]108+[CHar]101+[CHar]40+[CHar]105+[CHar]60+[CHar]108+[CHar]101+[CHar]110+[CHar]40+[CHar]99+[CHar]104+[CHar]101+[CHar]99+[CHar]107+[CHar]108+[CHar]105+[CHar]115+[CHar]116+[CHar]41+[CHar]41+[CHar]58+[CHar]10+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]105+[CHar]102+[CHar]32+[CHar]105+[CHar]60+[CHar]108+[CHar]101+[CHar]110+[CHar]40+[CHar]111+[CHar]117+[CHar]116+[CHar]112+[CHar]117+[CHar]116+[CHar]41+[CHar]32+[CHar]97+[CHar]110+[CHar]100+[CHar]32+[CHar]111+[CHar]117+[CHar]116+[CHar]112+[CHar]117+[CHar]116+[CHar]91+[CHar]105+[CHar]93+[CHar]61+[CHar]61+[CHar]99+[CHar]104+[CHar]101+[CHar]99+[CHar]107+[CHar]108+[CHar]105+[CHar]115+[CHar]116+[CHar]91+[CHar]105+[CHar]93+[CHar]58+[CHar]10+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]105+[CHar]43+[CHar]61+[CHar]49+[CHar]10+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]101+[CHar]108+[CHar]115+[CHar]101+[CHar]58+[CHar]10+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]98+[CHar]114+[CHar]101+[CHar]97+[CHar]107+[CHar]10+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]105+[CHar]102+[CHar]32+[CHar]105+[CHar]61+[CHar]61+[CHar]108+[CHar]101+[CHar]110+[CHar]40+[CHar]99+[CHar]104+[CHar]101+[CHar]99+[CHar]107+[CHar]108+[CHar]105+[CHar]115+[CHar]116+[CHar]41+[CHar]58+[CHar]10+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]114+[CHar]101+[CHar]116+[CHar]117+[CHar]114+[CHar]110+[CHar]32+[CHar]49+[CHar]10+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]114+[CHar]101+[CHar]116+[CHar]117+[CHar]114+[CHar]110+[CHar]32+[CHar]48+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]10+[CHar]10+[CHar]105+[CHar]102+[CHar]32+[CHar]95+[CHar]95+[CHar]110+[CHar]97+[CHar]109+[CHar]101+[CHar]95+[CHar]95+[CHar]61+[CHar]61+[CHar]34+[CHar]95+[CHar]95+[CHar]109+[CHar]97+[CHar]105+[CHar]110+[CHar]95+[CHar]95+[CHar]34+[CHar]58+[CHar]10+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]97+[CHar]110+[CHar]115+[CHar]61+[CHar]91+[CHar]49+[CHar]51+[CHar]55+[CHar]52+[CHar]50+[CHar]55+[CHar]56+[CHar]56+[CHar]52+[CHar]50+[CHar]44+[CHar]32+[CHar]50+[CHar]49+[CHar]51+[CHar]54+[CHar]48+[CHar]48+[CHar]54+[CHar]53+[CHar]52+[CHar]48+[CHar]44+[CHar]32+[CHar]52+[CHar]49+[CHar]57+[CHar]49+[CHar]48+[CHar]53+[CHar]54+[CHar]56+[CHar]49+[CHar]53+[CHar]44+[CHar]32+[CHar]51+[CHar]50+[CHar]52+[CHar]56+[CHar]56+[CHar]56+[CHar]49+[CHar]51+[CHar]55+[CHar]54+[CHar]93+[CHar]10+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]35+[CHar]32+[CHar]103+[CHar]101+[CHar]110+[CHar]101+[CHar]114+[CHar]97+[CHar]116+[CHar]101+[CHar]82+[CHar]101+[CHar]115+[CHar]40+[CHar]41+[CHar]10+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]102+[CHar]108+[CHar]97+[CHar]103+[CHar]61+[CHar]105+[CHar]110+[CHar]112+[CHar]117+[CHar]116+[CHar]40+[CHar]39+[CHar]80+[CHar]108+[CHar]101+[CHar]97+[CHar]115+[CHar]101+[CHar]32+[CHar]105+[CHar]110+[CHar]112+[CHar]117+[CHar]116+[CHar]32+[CHar]102+[CHar]108+[CHar]97+[CHar]103+[CHar]58+[CHar]39+[CHar]41+[CHar]10+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]114+[CHar]101+[CHar]115+[CHar]61+[CHar]99+[CHar]104+[CHar]101+[CHar]99+[CHar]107+[CHar]40+[CHar]102+[CHar]108+[CHar]97+[CHar]103+[CHar]44+[CHar]97+[CHar]110+[CHar]115+[CHar]41+[CHar]10+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]105+[CHar]102+[CHar]32+[CHar]114+[CHar]101+[CHar]115+[CHar]58+[CHar]10+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]112+[CHar]114+[CHar]105+[CHar]110+[CHar]116+[CHar]40+[CHar]34+[CHar]67+[CHar]111+[CHar]110+[CHar]103+[CHar]114+[CHar]97+[CHar]116+[CHar]117+[CHar]108+[CHar]97+[CHar]116+[CHar]105+[CHar]111+[CHar]110+[CHar]115+[CHar]44+[CHar]32+[CHar]121+[CHar]111+[CHar]117+[CHar]39+[CHar]118+[CHar]101+[CHar]32+[CHar]103+[CHar]111+[CHar]116+[CHar]32+[CHar]116+[CHar]104+[CHar]101+[CHar]32+[CHar]102+[CHar]108+[CHar]97+[CHar]103+[CHar]33+[CHar]34+[CHar]41+[CHar]10+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]112+[CHar]114+[CHar]105+[CHar]110+[CHar]116+[CHar]40+[CHar]34+[CHar]70+[CHar]108+[CHar]97+[CHar]103+[CHar]32+[CHar]105+[CHar]115+[CHar]32+[CHar]42+[CHar]99+[CHar]116+[CHar]102+[CHar]123+[CHar]121+[CHar]111+[CHar]117+[CHar]114+[CHar]95+[CHar]105+[CHar]110+[CHar]112+[CHar]117+[CHar]116+[CHar]125+[CHar]33+[CHar]34+[CHar]41+[CHar]10+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]101+[CHar]120+[CHar]105+[CHar]116+[CHar]40+[CHar]48+[CHar]41+[CHar]10+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]101+[CHar]108+[CHar]115+[CHar]101+[CHar]58+[CHar]10+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]32+[CHar]112+[CHar]114+[CHar]105+[CHar]110+[CHar]116+[CHar]40+[CHar]39+[CHar]78+[CHar]111+[CHar]112+[CHar]101+[CHar]44+[CHar]116+[CHar]114+[CHar]121+[CHar]32+[CHar]97+[CHar]103+[CHar]97+[CHar]105+[CHar]110+[CHar]33+[CHar]39+[CHar]41 |
简单解析一下
1 | with open("./output", "r") as f: |
真正执行的代码如下:
1 | class chiper(): |
魔改的xxtea,改了delta和MX,简单修改一下就可以,解密脚本如下:
1 | #include <stdio.h> |
flagfile
挺有意思的一道题目,用magic file对flag进行检验,正确有输出。尝试写一些magic file编译之后和给出的flag.mgc进行对比,大致可以看出每一行实际执行的功能。总的来说除了格式上flag{*}的匹配以外,只有两种运算
1 | >0x40 leshort^0xA =0xB |
第一种表示对0x40位置的偏移进行计算,由此可以得到0x40-0x7E位置上的值。第二种是相对偏移,取出0x40位置上的一个byte,这个byte的值就是文件偏移,然后对该偏移处的byte进行计算。
计算都是异或,非常好还原,解析给出的flag.mgc然后计算得到flag
1 | s=[0 for _ in range(32)] |
Pwn
Fcalc
浮点数计算器,要求输入的所有数据都是1.0-100.0之间的浮点数,可以使用+-*/四种运算,但是在判断时对调用函数的索引没有进行严格限制,导致可以通过输入0执行shellcode。此外,还有一个buf overflow,可以覆盖已经读入内存的浮点数值。
最大的难点在于shellcode必须满足1.0-100.0之间的浮点数这一要求,构造起来难度很大,所以使了个讨巧的办法,对一个浮点数,替换头两位为jmp $-x,跳转到不需要检查的输入执行,这种替换不太会影响浮点数的值,只会在小数点后几位产生影响。
payload如下
1 | sl("1.1 1.2") |
Comments