2024 BaseCTF re&pwn 部分wp

You are good at IDA

 

附件拖入ida。比较简单

UPX mini

 

upx壳,无魔改,直接脱。脱完拖入ida。比较简单

Ez Xor

 

附件拖入ida

比较简单。脚本

ez_maze

 

附件拖入ida

一个宽为15的迷宫

BasePlus

 

附件拖入ida。变表base64再异或0xE

签个到吧

 

nc连上即得

echo

 

nc连上,发现常用命令基本上都没有,只有echo能用,稍微一搜索,就能找到输出办法

Ret2text

 

附件拖入ida

比较简单。脚本

我把她丢了

 

附件拖入ida

read函数处进行栈溢出

脚本

shellcode_level0

 

附件拖入ida

比较简单。脚本

UPX

 

魔改UPX壳,把小写改为大写即可脱壳

附件拖入ida。换表base64。赛博厨子可解,但是有个点,就是它会把字母表也正则处理,导致直接复制过去-[]的内容被解析,出现长度不一样,在-前加个转义字符即可

lk

 

运行一下,好家伙,二次元

附件拖入ida

简单的验证。脚本

喝杯下午茶

 

附件拖入ida

非常经典的xtea加密,好像无魔改。脚本

RivestCipher

 

go语言写的,ida8.3可以加载出符号。附件拖入ida

进入main函数,稍微向下翻就能发现rc4。动调取出密钥,解密即可

Ezpy

 

pyinstaller打包的exe。直接用对应版本的python解包

再反编译pyc文件。简单的RC4后再异或

还有个Key,也要反编译

最简单的编码

 

附件拖入ida

换表魔改base64。数组[1,2,3,4]参与base64编码过程。脚本

neuro爱数学

 

附件拖入ida

可以看到,有非常多的反调试,无所谓,先静态分析。输入了九个数,然后构造了result=a[0]+a[1]*x^1+a[2]*x^2+...+a[8]*x^8一些等式(x即i,a[0-8]即输入的九个数),在特定情况下result需要等于0。什么特定情况?就是bittest部分,初看以为是按位与,但实际上是判断特定bit位是否为1。所以当v5的bit位为1时对应的i所在的等式结果需要为0,由此可以得到8个等式,又因为后面部分所有输入都除以了最后一个数所以最后一个数为1。到此,八个未知数八个线性等式,直接z3求解。脚本。这里有个点,不能用BitVec,哪怕指定位数为32,校验过是能过,但会得到部分字符错误的结果

Dont-debug-me

 

附件拖入ida

正常逻辑应该是走这个ex1t函数。直接修改rip,然后就能输出flag

世界上最简单的题目

 

附件用文本编辑器打开

有轻微的混淆,快速替换一下

比较简单。脚本

出题人已疯

 

NET程序,拖入dnSpy

一个简单异或,提取出数据就好了。脚本

ezAndroid

 

附件拖入jadx

关键的Base64encode在native层,解包,找到so拖入ida。同时也可在asset文件夹下找到加密后的flag。对a1转换类型之后还是非常清晰的。就是那个数组的取值好像不太正常,大胆猜测是求余取值

BaseRE

 

附件拖入ida

main函数上下看看。下面好像才是主逻辑

main上面是Tls回调函数,而且后面也跟着像是主逻辑的大段红区

下断点,发现果然断在这。这里修改base64的表

然后是反调试,直接跳过

F9运行,发现就进入main函数了。大胆猜测是换表base64

尾语

玩服务器,找dk盾

首先,感谢各位师傅的出题,大部分题目确实很友好,非常适合入门。也没做出多少题,好像也不应该多做评价。但是——这仅仅是来自我个人的观点,凡事总会有但是,对不对自有后人评说——可能是因为出题人非常得多,然后出题人里的氛围可能比较喜欢搞抽象,题目好像不是很正经。该说不说,聊天可以玩抽象(谁还不是一个乐子人呢),但是该专业的地方还是得专业。也不说多,还是那句话,仅仅我个人观点个人感受,一切解释归出题人所有,希望所有出题人是带着分享知识的目的去出题

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值