- 博客(76)
- 收藏
- 关注
原创 [SUCTF2019]SignIn
该程序是一个64位ELF文件,实现了一个RSA加密验证系统。它会将用户输入的flag经过十六进制转换后,与预置的密文进行RSA解密比较。通过分解N=p*q获取私钥d,成功解密得到原始flag为"suctf{Pwn_@hundred_years}"。程序还包含一个将输入字符转换为十六进制的预处理函数,但确认该转换不影响最终结果。最终提交的正确flag是"flag{Pwn@_hundred_years}"。
2025-09-26 18:53:49
314
原创 [HDCTF2019]Maze
回到代码段,莫名其妙的有一个jnz,跳转的位置也奇奇怪怪的,移动了,直接是判断横向和竖向走了几步(相当于坐标)好像是迷宫,跟踪到 sub_401ECD。然后从main函数起始位置选中到红色结束位置。,而后面一串明显不是函数地址,这里。按wsad的走法,出迷宫唯一路径。32位exe,有UPX壳。盲猜10个一组,得到迷宫。指针指飞了,先看看字符。,我们把前面三个立即值。最终的输入就是flag。
2025-09-26 18:52:38
272
原创 [ACTF新生赛2020]usualCrypt
base64 函数中是把 v8 转码后存到 v5。大小写互换了,我们直接尝试可以得到flag。但是直接标准表解不出来,这里换表了。从代码上看后面应该有做变换,看下。但是这个依旧不对,看密文开头。这个是做大小写替换的,解密脚本。
2025-09-26 18:49:31
214
原创 [MRCTF2020]hello_world_go
直接字串检索,发现了flag,提交竟然成功了 - -||看到了fmt,查了下是一种c语言的框架。那也没什么,主要是想考察这个框架吧。
2025-09-26 18:48:30
214
原创 [MRCTF2020]Xor
该32位exe程序通过反编译发现主函数对输入字符串进行异或校验:要求27位长度,逐字节与位置索引异或后需匹配预设密文。解密得到flag"MRCTF{@_R3@1ly_E2_R3verse!}"。反编译难点可能源于指令损坏、数据代码识别错误、控制流混淆或特殊指令干扰等逆向工程常见问题。
2025-09-26 18:47:18
155
原创 [2019红帽杯]easyRE
摘要:分析64位ELF文件时发现加密函数sub_4009C6,解密第一段信息得到提示"Thefirstfourcharsareflag"。追踪引用地址找到sub_400D35函数,通过异或运算破解出完整flag:flag{Act1ve_Defen5e_Test}。整个解密过程涉及字符串分析、base64解码和密钥推导。
2025-09-26 18:46:40
302
原创 [WUSTCTF2020]level2
ida直接看反编译码看不出来东西,但是汇编码里面有疑似flag的内容。在进行反编译前,ida有一段提示。32位elf,有upx壳。
2025-09-26 18:34:59
221
原创 [GUET-CTF2019]re
这里差一位没有,运行程序试不出来,只能提交试试了。一大坨,也不难,直接改就行。64位elf,有UPX壳。还好这个代码不是很复杂,这里要注意几个坑点,一是。位置反了,需要手动调一下。
2025-09-26 18:33:39
199
原创 [FlareOn4]login
简单点说就是判断字符是否为 [a-zA-Z] 然后对所有字母做偏移13,如果超过了z和Z的范围就减26个位次。这个题实际上就是rot13变换,工具能直接出。
2025-09-21 11:39:35
203
原创 findit
这段代码是一个Android应用的核心逻辑,包含两个字符加密/解密过程。第一部分对预设字符数组a进行变换生成验证密码("ThisIsTheFlagHome"处理后变为"LZwPZwLZwXZw\cc")。第二部分解密隐藏信息:当输入正确时,程序会对字符数组b(初始值"pvkq{m164675262033l4m49lnp7p9mnk28k75}")进行解密,最终输出flag{c164675262033b4c49bdf7f9cda28a75}。解密过程
2025-09-21 11:38:32
118
原创 [ACTF新生赛2020]rome
该逆向分析题涉及一个32位程序的输入验证逻辑。程序要求输入以"ACTF{"开头并以"}"结尾的flag,核心逻辑是对输入字符进行特定变换后与硬编码字符串"Qsw3sj_lz4_Ujw@l"比较。变换规则为:大写字母执行(c-51)%26+65,小写字母执行(c-79)%26+97。通过逆向变换脚本解密得到原始flag应为ACTF{Cae3ar_th4_Gre@t}(实际提交格式为flag{Cae3ar_th4_Gre@t})。
2025-09-21 11:36:50
166
原创 [GWCTF 2019]pyre
值得注意的是,在反编译python时需要自身版本和文件编译时的python版本对应,所以需要多个python版本(一般都是python3.x)pyc是python的编译文件,一般情况下python都是脚本执行的。代码(这是python2的代码)
2025-09-21 11:35:56
237
原创 简单注册器
代码基本上不用动,就是做了个字符操作然后吐出来了。apk安装包,安卓题,掏出我们的jadx。不用多看,直接找mainActivity。关键代码只有这么一点。
2025-09-21 11:35:16
174
原创 [ACTF新生赛2020]easyre
看着挺长挺唬人,实际上判断那一段基本没用,后面还有个按位判断。这里 lamer info 也写了脱壳的方法。v4 中字符的位次 +1 即为flag。ida打开解析不出来,测一下upx壳。这里注意到上面给v4的值为。
2025-09-21 11:33:56
139
原创 buuctf 刮开有奖
注意前面 sub_4010F0 有对v7进行操作,进去看一下。这一段是快速排序,原始v7应该为。捋一下逻辑大概如下,这里。顺着主函数,找到这一段。(数字<大写<小写)
2025-09-21 11:32:44
163
原创 [BJDCTF2020]JustRE
那flag就是BJD{1999902069a45792d233ac}(换成flag{xxx}提交)注意这里有两个整数型输入,值后面给了 19999和0。点击次数判断,看之前ida应该是19999。字串这里看到疑似flag。
2025-09-21 11:31:44
162
原创 Java逆向解密
这里从结果上注意,equals用于做对比,对比的变量是。从equals上面的for循环不难看出,java 也可以拉到 jadx 里面。从上面main函数的调用来看,
2025-09-21 11:29:55
810
原创 [GXYCTF2019]luck_guy
没什么信息,双击 patch_me 进去,看到有个get_flag。别的不用管,里面一共5个case。(头要换成flag)
2025-09-21 11:27:44
219
原创 SimpleRev
同为下标,但是在不同的计算里面,v2计算输入字符,v3只计算26大小写字母。strcpy是复制,strcat是从末尾添加,类似重定向 > 和 >>题目本意可能是要分开大小写进行不同加密的,最后没打包好。这里的key1和key3都是静态变量,src也给了。这里需要爆破一下求余26去掉了几个,所以有解密脚本。这一坨没用,Q就退出了,双击 Decry 函数。前面一个过滤空格,后面只对英文字母进行操作。说实话,不是很严谨啊,这里能解出来两组答案。后面运算都一样的,这里需要注意。一大坨,从前往后看吧。
2025-09-21 11:27:01
146
原创 不一样的flag
来控制方向,中间是个循环,这里拿数组做分割运算。(学逆向最好还是要熟悉一定的算法)就是迷宫地图,1是墙 0是路。32位程序,花里胡哨的。所以这个题是个迷宫,
2025-09-21 11:25:20
187
原创 reverse3
上面有个 %20s 是输入,Str 经过 sub_4110BE 给了 v4 然后 strncpy 给了 Destination。这样的特征按位运算实际上是base64转码,有兴趣的可以去看看我在misc中提到的base64编码方式。倒着看,Destination的第一层运算,减回来就是。第一问结果解出来拿到 cyberchef 里面解码即可。然后看到 sub_4110BE ,双击进去。花里胡哨写不少东西,不用多看直接锁定。
2025-09-21 11:24:17
299
原创 buuctf 新年快乐
后面又对输入 Str1 和 Str2 进行比较,所以。strcpy 是拷贝字符到 Str2。投到ida里没解出来,查一下壳。upx壳,工具解一下。
2025-09-21 11:22:02
197
原创 内涵的软件
这里的 byte_4250EC、asc_425088、byte_425034、byte_42501C 是三个字符串,大概率是中文的,运行程序看看。那就没有运算了,开头的 v5 大概率就是flag。
2025-09-21 11:20:48
220
原创 reverse1
这里 Str1 是输入,Str2 就是比对的答案,我们双击 Str2。选中变量按 r 切换成字符,h 切换数字。ida64打开,进到main0里面。这里前面有个变换 o 要换成 0。
2025-09-21 11:18:45
120
原创 [RoarCTF 2019]Easy Java
Nginx在映射静态文件时,把WEB-INF目录映射进去,而又没有做Nginx的相关安全配置(或Nginx自身一些缺陷影响)。从而导致通过Nginx访问到Tomcat的WEB-INF目录(请注意这里,是通过Nginx,而不是Tomcat访问到的,因为上面已经说到,Tomcat是禁止访问这个目录的。简单来说:通过找到web.xml文件,推断class文件的路径,最后直接class文件,在通过反编译class文件,得到网站源码。WEB-INF是java的WEB应用的安全目录。存放jsp2.0以下版本的文件。
2025-09-20 13:53:18
414
原创 [GYCTF2020]Blacklist
界面试了下是sql语句这个是可以堆叠注入的,测一下点但是不能用呃,show databases;看一下吧?inject=1';'1查表的结构。
2025-09-20 13:51:25
128
原创 [SUCTF 2019]CheckIn
这样看临时目录下的 index.php 本身是防止目录被解析的生成文件,但是因为 .user.ini 的存在又会解析文件下的php文件。这里访问根目录发现有个 GIF89a ,蚁剑扒拉一下index.php看看。我到对应目录下看,生成的 index.php 是个空文件 挺奇怪的。上传成功,再次访问 a.jpg 发现还是不行?解析不了,从流量上来看是正常访问,试了下。被过滤了,还是要用。上传成功,访问 jpg 看一下。传不了,前面要加图片表示。
2025-09-20 13:43:47
181
原创 [GXYCTF2019]BabyUpload
上传成功了,那伪造一下 .jpg 就行了。试了一下,一些正常图片都不能正常上传。后缀名有判定,试一下能不能传。被ban了,连一下蚁剑。
2025-09-20 13:40:39
111
原创 [网鼎杯 2020 青龙组]AreUSerialz
返回 “S” 的 ASCII值 s为字符串类型 S为16进制字符串数据类型。注意process里面对文件执行写或者读取是用的弱类型判断,因此需要构造。一个是利用反序列化的特性,url编码后将"s"替换为"S",析构函数肯定是调不到了,尝试在解构前执行一下。这样虽然没回显,但是在源码能看到flag。可以看到,中间有对字符进行判断,那么。绕过方式%00转换为\00即可绕过。另一种直接构造public类型。这里注意一个点,这里有两个。
2025-09-20 13:38:06
280
原创 [极客大挑战 2019]HardSQL
都给过滤了,而且是优先识别是否有问题再执行的语句。能并行执行语句也是学到了,空格是用括号绕过的。阿巴阿巴,再也不想看到sql注入了。and union 空格 =。直接上wp吧,反正给我整晕了。大部分注入都是这个画面。
2025-09-20 13:35:08
182
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅