2024 七月份国内外CTF 散装re 部分wp

vsCTF        intro-reversing

 

附件拖入ida

patch掉sleep,然后运行

看不出来,复制粘贴到文本编辑器,缩放即得

 vsCTF        awa-jelly

 

谷歌搜索能找到一个wiki介绍这种脚本

从网页底部外链能找到题目的网页,把附件中的内容粘贴到code部分

简单输入,发现好像是混淆顺序。F12打开控制台,发现并没那么简单

类似vm,Code部分的文本解码后就是command。根据代码,能看出就是链表元素的插入和删除

脚本

闽盾杯        licensePWN

 

附件拖入ida,函数列表随便点点

从txt文件中读取字符串,然后经过strcpy和strcmp函数判断是否license合法。strcpy函数处可以进行栈溢出

闽盾杯        你破解or我破解

 

DIE查看发现是VB程序,网上搜索一番找到工具VB Decompiler可以反编译,有五个按钮点击事件和一个函数

关键是下面两个点击事件

第一个点击事件不管判断成功与否都不会执行中间把其它组件显型的代码,所以需要patch。ida可以进行调试,需要在适当位置下断点,保证中间代码实现即可

显示之后两个编辑框限制长度必须小于4,所以继续patch,使得长度能够超过。我这里只改了后一个的限制

然后开始跑

跑出来发现和flag无关,需要找flag。注意到第二个点击事件中的字符串拼接,应该就是flag了。下断点调试取值。提交不对,最后数字部分应该是猜解得到的

UIUCTF        Summarize

 

附件拖入ida

需要六个九位数,经过一些运算后再判断值是否相等。进入其中一个运算函数,以下图为例,每一bit都做异或操作,但是好像还有附加的,即carry(这个灵感来自gpt),简单一想,这不就是二进制加法嘛。其它的函数功能都在上图中标明了

脚本

春秋杯夏季赛        HardSignin

 

有魔改upx壳,修改特征后直接脱壳。附件拖入ida

应该是有smc,对main查引用

有花指令,直接patch。果然是smc,还有反调试

还有几个回调函数,同样去花指令

一共四个回调函数,都有反调试,都可以给它patch掉。回调3如果不patch的话会卡在这,原理现在不知道

patch完之后下断点动调发现会卡在main函数。那就另开一个ida,手动smc解一下

先是换表base64,再RC4,最后xtea加密。所有的密钥和值都通过卡在main函数的动调进程得到。脚本

ctfshow西瓜杯        pe

 

附件拖入ida。明文

ctfshow西瓜杯        探索进制的奥秘

 

附件拖入ida。几乎明文

DownUnderCTF        jmp flag

 

附件拖入ida

看看判断函数,全局变量要为0

接下来看处理函数

用输入的字符再经过运算后的值作为地址偏移。可以看到,如果想要全局变量为0,那必须得按位与之后的jnz跳转不执行,即全局变量等于按位与的值

眼睛尖的话可以看上面这一条(不知道叫什么),大致有一百二十八条吧(我没细数,猜的),0x00-0xff每一种字符应该分别对应一条。

有的粗有的细,其中最特别的是不粗不细的那条,对应的代码是这个,与众不同,因为既没有比较也不是直接赋值-1,猜测应该是开始或者结束位置

假设是结束位置,全局变量最后要等于0,那么异或前的值就等于0x2000000了。搜索这个值

(0xffffffffffffffff^0x2000000)&0x2000000=0。好,推翻假设,是程序检验的正确开始位置,即对应输入的第一个字符。(0x4D00-0x12a4-0x60)>>7=0x73=’s’。同理,倒推可得全部输入

发现不对,看字符串也不像。检验一下跳转计算,(0x73<<7)+0x60+0x12a4=0x4c84,不是开始位置,而是前一位字符的位置,也就是说需要输入’t’才进入正确的开始位置

把每一个字符都+1就行。脚本

WKCTF        so_easy

 

附件拖入jadx

解包找到so拖入ida

这里可以学到新知识点,当然不学也没关系,涉及到密码学中的线性反馈移位寄存器(LFSR),知道有这么个东西就行。观察程序,每八个字节转换为有符号整数,如果为正,那就乘以2即相当于左移1位;如果为负,那就先左移1位再异或。要做的是逐步还原最高位,区别两种操作在于如果异或了,那么最低位是1,否则就不是。脚本

WKCTF        quite_easy

 

附件拖入ida

看起来是明文flag,提交不对,那就调试。窗口一闪而过,应该有反调试,那么应该在哪呢。函数窗口可以过滤tls。做题时是通过对程序中莫名的大段红区地址查引用发现的

回调函数中有两个函数调用,

第一个是反调试,可以patch或者下断点在调试时跳过

第二个函数好像是hook了strcmp

调试发现果然是

进入正确的处理流程。用了种子和随机数,生成了十六个字节,附加在输入字符串后面

附加之后长度需要等于0x30

然后就是运算

总结一下

脚本。爆破部分有多种解,加break

CatTheQuest        Warmup

 

DIE显示是python module,用pycdc可以反编译

比较简单

CatTheQuest        Jakshu

 

附件拖入ida

输入经过函数却没改变,赋值的数组没被使用。比较简单。脚本

DASCTF暑期挑战赛        Strangeprograme

 

附件拖入ida,通过字符串定位到关键函数

但是是fake

下断点调试,窗口一闪而过,应该有反调试。Import窗口发现确实有IsDebuggerPresent

对它查引用,每个地方的函数入口都下断点

直接改eax的值,然后F9运行

步入memcmp,发现跳到另一个函数

就一个xtea加密,比较简单。脚本

DASCTF暑期挑战赛        DosSnake

 

附件拖入ida

查一下字符串

看起来就是一个异或,大胆猜测,小心验证。脚本

引用:MIME((Multipurpose Internet Mail Extensions)多用途互联网邮件扩展类型。 它是设定某种扩展名的文件用一种应用程序来打开的方式类型,当该扩展名文件被访问的时候,浏览器会自动使用指定应用程序来打开。多用于指定一些客户端自定义的文件名,以及一些媒体文件打开方式每个MIME类型由两部分组成,前面是数据的大类别,例如声音 audio、图象 Image等,后面定义具体的种类。 常见的MME类型,例如:   超文本标记语言文本 .html,html text/htm   普通文本 .txt text/plain   RTF文本 .rtf application/rtf   GIF图形 .gif image/gif   JPEG图形 .jpg image/jpeg 上传包含一句话木马的php文件,然后使用burp抓包,修改数据包的content type为image/gif(注意是第二个content type)发送到repeater修改后,点击send,然后放包,即可显示上传php文件成功后的相对路径。使用蚁剑连接该一句话木马即可获得flag。 文件头检查 。 引用: htaccess 查看网页源码,可以看到常用的文件后缀都被禁用。根据题目的提示,.hatccess文件【.htaccess是Apache服务器的一个配置文件。它负责相关目录下的网页配置。通过htaccess文件,可以帮我们实现:网页301重定向、自定义404错误页面,改变文件扩展名、允许/阻止特定的用户或者目录的访问、禁止目录列表、配置默认文档等功能。】 前提:mod_rewrite模块开启,配置文件中LoadMoudle rewrite_module module modules/mod_rewrite.so AllowOverride All,配置文件中AllowOverride All (如果可能做题过程中结果出现问题,但步骤正确,可以看看前提是否正确) 。 引用:文件头检验 是当浏览器在上传文件到服务器的时候,服务器对所上传文件的Content-Type类型进行检测。如果是白名单允许的,则可以正常上传,否则上传失败。 当我们尝试上传一句话木马的php文件,出现了正确后缀类型的弹窗。使用010editor制作一张图片木马,上传时使用burp抓包把文件后缀改为php,然后点击send。使用蚁剑连接php文件,即可在对应目录下找到flag。 00截断 。 关于ctfhub的全部WP,很抱歉我无法提供相关信息。由于ctfhub是一个综合性的CTF平台,涵盖了大量的题目和解题思路,每个题目的WP都有着不同的内容和解法。如果您对特定的题目或解题方法感兴趣,我可以为您提供更多信息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值