GKCTF 2020 部分writeup

这篇博客详细介绍了作者在GKCTF 2020比赛中的解题经历,涵盖了逆向工程、杂项、密码学和漏洞利用等类别。在逆向工程中,通过分析程序找到登录密码;在杂项挑战中,通过各种方式获取隐藏的flag,包括解压、二维码、摩斯密码等;在密码学部分,使用脚本破解加密;在PWN题中,利用off-by-null漏洞进行内存操作。博客最后提到了比赛中遇到的难点和解决思路。

RE

Check_1n

在程序中找到登录密码
在这里插入图片描述
flag选项结果base64解码如下

在这里插入图片描述
选第二个,什么都不做,结束就有flag

在这里插入图片描述

Misc

签到

flag就在屏幕上:flag{Welcome_To_GKCTF_2020}

Pokémon

根据开始能选择的精灵,判断出是绿宝石493
下载个通关存档,走到103号道路,就能看见flag:
在这里插入图片描述
flag为:flag{PokEmon_14_CutE}

Harley Quinn

打开压缩包,发现一个一串字符:FreeFileCamouflage
在这里插入图片描述
用AU打开,在最后发现一段dtmf
在这里插入图片描述
对比得到:#222833344477773338866#
该题使用了手机键盘加密方式,原理如下:
在这里插入图片描述
但是直接解的话,28肯定就不对了,又从每个数字的次数着手:
比如222,记为23
8,记为81
得到密码:ctfisfun
根据最开始的提示,用该软件1.25版本提取出flag,这里好像还要把图片后缀改为jpg,不然不能识别
在这里插入图片描述
在这里插入图片描述

code obfuscation

binwalk -e提取出压缩包:
在这里插入图片描述
之后修复二维码
首先,用ppt把断开的图片拼起来,调整一下大小,用微信扫出base(gkctf)
在这里插入图片描述
尝试各种base,最后base58成功
在这里插入图片描述
把1中的js代码扔进console执行,结果如下

在这里插入图片描述

刚刚看了官方WP,说这个是js混淆,提供了一个网站解密:JS混淆加密压缩
结果如下

for n in a b c d e f g h i j k l m n o p q r s t u v w x y z do eval An = "n"
    done
for n in A B C D E F G H I J K L M N O P Q R S T U V W X Y Z do eval An = "n"
    done
    num = 0
for n in a b c d e f g h i j do eval Bn = "n"
    num =
    $((num + 1)) done alert("Bk=' ';Bm='"
        ';Bn='#
        ';Bs=' (';Bt=')
        ';By='.
        ';Cb=';
        ';Cc=' < ';Ce=' > ';Cl='
        _ ';Cn=' {
   
   
            ';Cp='
        }
        ';Da='
        0 ';Db='
        1 ';Dc='
        2 ';Dd='
        3 ';De='
        4 ';Df='
        5 ';Dg='
        6 ';Dh='
        7 ';Di='
        8 ';Dj='
        9 ';")

得到了图片中字符的对应关系,映射一下,得到一个C程序

for n in a b c d e f g h i j k l m n o p q r s t u v w x y z do eval An="n"done for n in A B C D E F G 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值