首页 > 其他分享 >攻防世界新手入门题集

攻防世界新手入门题集

时间:2024-10-18 13:49:12浏览次数:1  
标签:攻防 函数 题集 v2 新手入门 flag v3 v4 数组

最近开始学恶意代码,于是决定刷一下ctf - Re 方向的题。

题目链接:攻防世界 (xctf.org.cn)

game

启动这个exe可以看到是个游戏,需要通过输入数字,来将上面所有的“灯”点亮

输入1之后效果如图

下面开始逆向分析。

静态IDA

IDA打开,函数窗口ctrl + f搜索main函数

双击跳转,f5查看伪代码

双击main_0 进一步跟进

显然sub_45A7BE是printf

选中这个函数,快捷键n,重命名

重命名为printf

然后看主函数,可以看到是一个while(1)里面嵌套了一个do...while

首先用户输入一个数n,并赋值给v5(从而可以判断出sub_4596D4()函数应该是scanf()函数)

如果不是n > 8: 重新输入

如果n <= 8:break 进入下一个代码段的判断。

如果n != 0:执行sub_4576D6(v5 - 1),这个应该就是对“灯”的状态产生影响的函数。

如果n == 0: 将byte_532E28[]这个数组归零,从而可以猜测这个数组是表示灯的状态。

分析do...while中的while,可以看到需要byte_532E28[]数组里的所有值都是1,否则一直循环下去。

所以可以得到最后的sub_457AB4是与flag有关。

重命名为get_flag并进一步跟进

再进一步跟进

可以看到先是初始化一个长度为56的v5[]数组

然后通过qmemcpy()函数【类似于c语言里的memcpy()函数,用于实现内存拷贝操作,通俗来说就是进行赋值】

qmemcpy(v2,"{ ",2)表示将"{"和" "赋值给v2数组的前两个

然后从v2[2]开始初始化v2数组。

同时还初始化了v3和v4数组。

v2 v3 v4数组加起来长度正好是56。

然后将v2里的元素与v5做异或,并与0x13u做异或,

最后输出字符串。

Python代码:

答案:

zsctf{T9is_tOpic_1s_v5ry_int7resting_b6t_others_are_n0t}

动态OD

插件 -中文搜索 -ASCII

找到flag的位置,双击跳转

可以看到生成flag的这个函数的地址是0045E96D

然后在找到输入函数 也就是push n之后,调用的函数

直接将地址改为上面生成flag的函数的地址

然后f9运行程序,直接得到答案

open-source

直接给了个.c文件,也就是直接给了源码,所以直接分析源码即可

分析源代码,可以看到主要是要求3个参数

first = 0xcafe

second 要满足:second % 5 != 3 and second % 17 == 8:由第二个条件容易猜到是25

argv[3] = h4cky0u

【注意:如果两个字符串相等,strcmp返回的结果是0!所以如果不相等的话,才返回1】

答案:c0ffee

simple-unpack


PEID没识别出来,exeinfo和DIE识别出来是upx加壳

拖到upx tool里解压缩

然后用IDA打开,直接看到了flag,就是在主函数里面

答案:flag{Upx_1s_n0t_a_d3liv3r_c0mp4ny}

insanity

没有加壳,是个ELF文件

用IDA打开,查看main函数

sleep(5u)表示暂停了5秒

v3 = time(0)表示 返回自纪元(1970 年 1 月 1 日 00:00:00 UTC)以来的当前时间(秒数),并存储在变量 v3 中 ,也就是时间戳

然后以v3作为种子生成随机数

v4是一个随机数

v4 % 0xA 表示v4 % 10,用来将v4限制在0~9之间。&strs[]表示对strs这个数组取值

双击strs跟进

看到明文存储的flag。

实际上IDA里查看strings,或者用strings.exe查看字符串也可以实现。

标签:攻防,函数,题集,v2,新手入门,flag,v3,v4,数组
From: https://www.cnblogs.com/Chenlead/p/18474096

相关文章

  • 20222410 2024-2025-1 《网络与系统攻防技术》实验三实验报告
    1.实验内容正确使用msf编码器,veil-evasion,自己利用shellcode编程等免杀工具或技巧正确使用msf编码器,使用msfvenom生成如jar之类的其他文件veil,加壳工具使用C+shellcode编程通过组合应用各种技术实现恶意代码免杀如果成功实现了免杀的,简单语言描述原理,不要截图。与杀软......
  • 20222411 2024-2025-1 《网络与系统攻防技术》实验二实验报告
    1.实验内容1.1实践目标(1)使用netcat获取主机操作Shell,cron启动某项任务(任务自定)PS:cron是linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程(2)使用socat获取主机操作Shell,任务计划启动(3)使用MSFmeterpreter(或其他软件)生成可执行文件(后门),利用ncat或soca......
  • 20222417 2024-2025-1《网络与系统攻防技术》实验二实验报告
    1.实验内容1.1实践目标(1)使用netcat获取主机操作Shell,cron启动某项任务(任务自定)PS:cron是linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程(2)使用socat获取主机操作Shell,任务计划启动(3)使用MSFmeterpreter(或其他软件)生成可执行文件(后门),利用ncat或socat......
  • 20222407 2024-2025-1 《网络与系统攻防技术》实验二实验报告
    1.实验内容本次实验主要围绕渗透测试与远程执行控制展开,通过不同工具和技术手段实现了对目标主机的深入渗透与监控。实验内容可以概括为以下几个方面:1.远程Shell获取:实验首先通过netcat和cron定时任务,以及socat与Windows任务计划相结合的方式,实现了对目标主机的远程Shell访问。这......
  • 新手入门大模型,2024最新学习路线!
    最近有很多同学想要学习大模型,于是我根据多年的学习经验,总结了一些适合你从0到1的入门经验,分享给大家呀1、几个学习大模型必备:教程:动手学大模型DiveintoLLMs《动手学大模型DiveintoLLMs》:内容丰富,从基础概念到实际操作都有详细讲解,通过实践案例帮助理解大模......
  • 20222317 2024-2025-11 《网络与系统攻防技术》实验二实验报告
    一、实验内容本次实验旨在通过实际操作理解并实践网络攻击中的后门原理,包括使用不同的工具和技术来获取目标主机的操作Shell、执行特定任务、收集敏感信息以及进行权限提升;本次实验需要我们使用nc实现win,mac,Linux间的后门连接:meterpreter的应用、MSFPOST模块的应用,实验可以分为......
  • 20222405 2024-2025-1 《网络与系统攻防技术》实验二实验报告
    1.实验内容1.1实践目标(1)使用netcat获取主机操作Shell,cron启动某项任务(任务自定)(2)使用socat获取主机操作Shell,任务计划启动(3)使用MSFmeterpreter(或其他软件)生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell(4)使用MSFmeterpreter(或其他软件)生成获取目标......
  • 20222301 2024-2025-1 《网络与系统攻防技术》实验三实验报告
    一、实验内容本次实验的目标在于运用多重加密、文件格式伪装、数据填充、加壳等技术方法达成恶意代码的免杀效果,生成恶意程序,并对其进行测试,以检验其能否成功躲避杀毒软件的检测。本次实验具体内容如下:1.正确使用msf编码器,使用msfvenom生成如jar之类的其他文件;2.能够使用veil,加壳......
  • 20222423 2024-2025-1 《网络与系统攻防技术》实验二实验报告
    1.实验内容主要学习了有关后门的攻击案例,后门造成的影响以及原理等,通过实验学会使用不同的工具实现对目标主机的渗透监听,获取主机shell等等,体会后门攻击的过程,从而增强自己的信息安全保护意识。1.1实验要求使用netcat获取主机操作Shell,cron启动某项任务(任务自定)使用socat......
  • 20222310 2024-2025-1 《网络与系统攻防技术》实验二实验报告
    一、实验内容1.使用netcat获取主机操作Shell,cron启动某项任务(任务自定)。PS:cron是linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程2.使用socat获取主机操作Shell,任务计划启动。3.使用MSFmeterpreter生成后门,利用ncat或socat传送到主机并运行获取主机Shell......