2024 BaseCTF repwn 部分wp

news/2024/9/20 12:23:37 标签: 软件工程, 网络安全, ctf, Reverse, Pwn

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盾

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


http://www.niftyadmin.cn/n/5667099.html

相关文章

商城小程序后端开发实践中出现的问题及其解决方法

前言 商城小程序后端开发中,开发者可能会面临多种问题。以下是一些常见的问题及其解决方法: 一、性能优化 问题:随着用户量的增加和功能的扩展,商城小程序可能会出现响应速度慢、处理效率低的问题。 解决方法: 对数…

TMStarget学习——Functional Connectivity

今天基于结构像和功能像数据试验操作TMStarget 的第二个功能模块Functional Connectivity。参考季老师的文档PPT来学习的,整个处理过程蛮长的,可能配置原因一路上报错也比较多,下面还是逐步记录吧,后面采用连更的方式直到跑通后再…

SigLIP:Sigmoid Loss for Language Image Pre-Training

论文:https://arxiv.org/abs/2303.15343 代码:https://github.com/google-research/big_vision 示例:https://colab.research.google.com/github/google-research/big_vision/blob/main/big_vision/configs/proj/image_text/SigLIP_demo.ipynb

TC8:SOMEIP_ETS_009-019

SOMEIP_ETS_009: echoENUM 目的 检查枚举类型的参数及其顺序能够被顺利地发送和接收 测试步骤 1、Tester:创建SOME/IP消息 2、Tester:使用method echoENUM发送SOME/IP消息 3、DUT:返回method响应消息,其数据(值和顺序)与请求中的相同 期望结果 3、DUT:返回method响应消…

前端框架对比与选择:如何在现代Web开发中做出最佳决策

随着互联网技术的迅速发展,前端开发在现代Web应用开发中扮演了至关重要的角色。对于开发者来说,选择合适的前端框架不仅能够提高开发效率,还能确保项目的可维护性和可扩展性。目前市面上有多种主流的前端框架和库,每一种都有其独特…

深度学习自编码器 - 收缩自编码器(CAE)篇

序言 在深度学习的浪潮中,收缩自编码器( Compressive Autoencoder, CAE \text{Compressive Autoencoder, CAE} Compressive Autoencoder, CAE)作为自编码器的一种高级形式,正逐步崭露头角。收缩自编码器在保留自编码器核心功能—…

FPGA随记-二进制转格雷码

反射二进制码(RBC),也称为反射二进制(RB)或格雷码(Gray code),得名于Frank Gray,是二进制数制的一种排列方式,使得连续两个值之间仅有一个比特(二…

关于 Goroutines 和并发控制的 Golang 难题

下面是一道关于 Goroutines 和并发控制的 Golang 难题,它涉及到 Go 的并发编程模型、Goroutines、通道(Channels)以及 sync.WaitGroup 的使用: 问题描述: 你有一个需要并发执行的任务,其中有 100 个 URL …