攻防世界XCTF-REVERSE入门12题解题报告

2024年的计划就是从刷题到实战,主要方向是二进制逆向、病毒分析、漏洞利用,努力提高自己的实战分析能力。

攻防世界XCFT刷题信息汇总如下:攻防世界XCTF黑客笔记刷题记录

第一题:考察C语言

img

解题报告:

#include <stdio.h>
#include <string.h>

int main(int argc, char *argv[]) {
    if (argc != 4) {
    	printf("what?\n");
    	exit(1);
    }

    unsigned int first = atoi(argv[1]);
    if (first != 0xcafe) {
    	printf("you are wrong, sorry.\n");
    	exit(2);
    }

    unsigned int second = atoi(argv[2]);
    if (second % 5 == 3 || second % 17 != 8) {
    	printf("ha, you won't get it!\n");
    	exit(3);
    }

    if (strcmp("h4cky0u", argv[3])) {
    	printf("so close, dude!\n");
    	exit(4);
    }

    printf("Brr wrrr grr\n");

    unsigned int hash = first * 31337 + (second % 17) * 11 + strlen(argv[3]) - 1615810207;

    printf("Get your key: ");
    printf("%x\n", hash);
    return 0;
}
  • 参数1:51966
  • 参数2:25
  • 参数3:h4cky0u

img

第二题:考察Linux可执行文件二进制搜索

img

解题报告:

发现是Linux可执行文件

img

方法1:通过Bless打开,搜索flag:9447{This_is_a_flag}

img

方法2:通过IDA字符串搜索也可以

img

方法3:Linux下直接用strings命令查看二进制文件中的字符串

root@ailx10:/home/ctf/re# strings 428f6e6f75754fca8964d35b16a4b709 
/lib/ld-linux.so.2
__gmon_start__
libc.so.6
_IO_stdin_used
srand
puts
time
sleep
__libc_start_main
GLIBC_2.0
PTRh@
[^_]
Reticulating splines, please wait..
If you're pretending to suck, you just passed that Turing test.
There aren't enough bits in my memory to represent how hard you fail.
Your ability to hack is about as good as my ability to have free will.
Have you considered becoming a vacuum cleaner? You're pretty good at sucking.
I've got a good feeling about this one..... wait no. Maybe next time.
Knock knock..
Who's there?
UDP.
UDP who?
9447{This_is_a_flag}
Congrats, you hacked me!

第三题:考察二进制脱壳

img

解题报告:

题目自己说有壳的

img

第一步脱壳:使用kali自带的upx进行脱壳

img

第二步搜索:二进制搜索字符串flag

方法1:使用kali自带的bless搜索字符串flag

img

方法2:使用Linux系统自带的strings搜索flag

img

第四题:python-trade考察python反汇编

img

解题报告:

休息了一个多月没做题,题目顺序都变化了。做事情一定要及时,不然真的少壮不努力,老大徒伤悲。在我的MAC下进行uncompyle6对pyc文件反汇编出py文件,得到源代码:

img

这就很简单了,顺手写了一个解密函数,得到flag:nctf{d3c0mpil1n9_PyC}

img

第五题:hello-ctf考察简单的逆向

img

解题报告:

因为是exe文件,所有这里我用了PEtools查壳神器,5年前吾爱破解送了我一个账号,里面资源相当多,找了一个热门的下载,显示这个文件是windows 32位C++程序,没有加壳。

img

我们运行一下:

img

打开IDA pro找一下这个字符串,我们找到了一串奇怪的数字,根据题目的提示,说flag不是明文,那么这个可能就是flag的编码后的值。

img

写一个小程序,就可以拿到flag:

img

第六题:logmein考察简单逆向

img

解题报告:

这是一道Linux下的二进制文件题,让我们猜RC3密码,猜对了就给你flag

img

打开IDA,找到伪代码如下:

img

将上面的伪代码改写成Python写如下,得到flag:

img

第七题:game考察简单逆向

img

解题报告:

第一步:查壳,发现没有壳

img

第二步:运行一下,大概的意思呢如下:

玩个游戏,n是灯的序列号,m是灯的状态,如果第N个灯的m为1,则点亮,否则为熄灭。一开始所有的灯都关了,现在您可以输入n更改其状态,但是你要注意一件事,如果您更改第N个灯的状态,第(N-1)和(N + 1)的状态也会改变,当所有指示灯都点亮时,将出现flag

其实很简单,我只要每一个灯点亮一次,所有的灯,都会被点亮,n依次输入12345678,就看到flag了,但是我们还是用逆向工程的思路来解题。

img

第三步:通过IDA可以查看伪代码,稍微修改一下:

拿到flag:zsctf{T9is_tOpic_1s_v5ry_int7resting_b6t_others_are_n0t}

img

第八题:getit考察动态调试

img

解题报告:

题目是这个程序有可能偷偷摸摸搞事情,但是运行一下,也不知道搞啥了。

img

通过IDA pro打开看一下伪代码,原来它在/tmp/flag.txt给我们写flag,然后又悄悄删掉了,于是我们可以通过GDB把它断住,然后去tmp下查看flag,岂不是美滋滋。

img

幸福来的太突然,它给我来了个星星,瞅一瞅代码,发现flag藏在t里面。

img

定位一下t的内存位置,发现在0x6010E0的位置:

img

通过GDB查看这个位置的内容,

得到flag:SharifCTF{b70c59275fcfa8aebf2d5911223c6589}

img

第九题:re1考察逆向入门

img

解题报告:

第一步:查壳,没有壳

img

第二步:运行一下,拿到关键字符串flag不对

img

第三步:在IDA pro里面找到字符串

img

第四步:查看伪代码,这里v5就是flag

img

第十题:no strings attached 考察动态调试

img

解题报告:

这是一个Linux程序,并且搜不到有价值的字符串

img

咱们运行一下:直接就是段错误

img

上IDA pro分析,只要ws和s2相等,那么就是flag

ws是我们输入的值,s2是加密后的值,因此我们拿到s2就拿到flag

img

使用IDA pro动态调试Linux服务器上的程序:

img

第十一题:csaw2013reversing2 考察动态调试

img

解题报告:

第一步:查壳,没有壳

img

第二步:运行一下,一开始我的电脑运行不了这个程序,然后重启一下可以运行了。哈哈,真的是谜之困惑,重启解决一切系统Bug~

img

第三步:IDA pro查看伪代码

img

我们需要做2件事,第一咱们要进入sub_401000函数一看究竟,第二咱们要在ExitProcess之前回到MessageBoxA执行流里面,这里我使用OD来改程序啦。

img

修改关键跳转

img

填充nop

img

F8继续走,修改关键跳转

img

F8继续走,成功拿到flag

img

第十二题:maze 考察迷宫行走

img

解题报告:

一道Linux 64下的题目,运行了一下说是要输入flag

img

打开IDA pro查看伪代码:

img

  • ⬆️:O
  • ⬇️:o
  • ⬅️:.
  • ➡️:0

绘制迷宫如下,咱们肉眼看到的2维数组,在内存中长得是右边这样的。

不懂的同学,好好看看C语言

img

迷宫顺序:⬇️➡️⬇️⬇️➡️➡️⬆️➡️➡️➡️⬇️⬇️⬇️⬇️⬅️⬅️⬆️⬆️

对应的值:o0oo00O000oooo…OO

flag:nctf{o0oo00O000oooo…OO}

img

至此,RE入门刷完了,哈哈,是不是很简单。


关于黑客&网络安全学习指南

学好 网络安全不论是就业还是做副业赚钱都不错,但要学会 网络安全 还是要有一个学习规划。最后给大家分享一份全套的 网络安全学习资料,给那些想学习网络安全的小伙伴们一点帮助!

内容涵盖了网络安全法学习、网络安全运营等保测评、渗透测试基础、漏洞详解、计算机基础等教程,带你从零基础系统性的学好网络安全。

1.学习路线图
在这里插入图片描述

攻击和防守要学的东西也不少,具体要学的东西我都写在了上面的路线图,如果你能学完它们,你去就业和接私活完全没有问题。

2.网络安全视频教程600集和配套电子书
观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。

在这里插入图片描述

温馨提示:篇幅有限,已打包文件夹,获取方式在:优快云大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享

3.技术文档
技术文档也是我自己整理的,包括我参加大型网安行动、CTF和挖SRC漏洞的经验和技术要点,电子书也有200多本,由于内容的敏感性,我就不一一展示了。
在这里插入图片描述

4.工具包、面试题和源码
“工欲善其事必先利其器”我为大家总结出了最受欢迎的几十款款黑客工具。涉及范围主要集中在 信息收集、Android黑客工具、自动化工具、网络钓鱼等,感兴趣的同学不容错过。
在这里插入图片描述

还有我视频里讲的案例源码和对应的工具包,需要的话也可以拿走。

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取:优快云大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享

最后就是我这几年整理的网安方面的面试题,如果你是要找网安方面的工作,它们绝对能帮你大忙。

这些题目都是大家在面试深信服、奇安信、腾讯或者其它大厂面试时经常遇到的,如果大家有好的题目或者好的见解欢迎分享。

参考解析:深信服官网、奇安信官网、Freebuf、csdn等

内容特点:条理清晰,含图像化表示更加易懂。

内容概要:包括 内网、操作系统、协议、渗透测试、安服、漏洞、注入、XSS、CSRF、SSRF、文件上传、文件下载、文件包含、XXE、逻辑漏洞、工具、SQLmap、NMAP、BP、MSF…
在这里插入图片描述

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取:优快云大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值