[NSSCTF][Misc]小白练手(三)

Misc

[羊城杯 2021]签到题

这道题,说是签到题,说是简简单单的猜测数字,但还是有点东西的

他是一个gif图,通过每一张图提示的数字,形成一串数字

28-08-30-07-04-20-02-17-23-01-12-19

将数字用MD5加密一下得出flag

NSSCTFP{d93b7da38d89c19f481e710ef1b3558b}

图1 28准则
图2 8卦阵
图3 30而立之年
图4 北斗7星
图5 4大才子
图6 歼-20
图7 2只黄鹂鸣翠柳
图8 17来看流星雨
图9 23号乔丹
图10 1马当先
图11 12黄道
图12 新闻联播每晚19点首播

[陇剑杯 2021]简单日志分析(问3)

通过日志发现base64编码

解码发现bash -i反弹shell

观察base64编码发现中间有一个url编码%2b为+的编码,再解码一次发现ip和端口

NSSCTF{192.168.2.197:8888}

Misc

[鹤城杯 2021]流量分析

通过协议分级筛选一下

一看就是SQL注入的布尔盲注

我们开始找他注入成功的值

在33之前的那个值就是响应正确的值

根据这个特征我们找到

102,108,97,103,123,119,49,114,101,115,104,65,82,75,95,101,122,95,49,115,110,116,105,116,125,126,126,126,126,60

放进脚本里查询

得到flag

NSSCTF{w1reshARK_ez_1sntit}

[陇剑杯 2021]SQL注入(问3)

通过日志发现是SQL注入的布尔盲注类型

从最开始的%C2%80找到flag拼写出来

从%7B('{')开始到%7D('}')结尾

NSSCTF{deddcd67-bcfd-487e-b940-1217e668c7db}

Misc

[陇剑杯 2021]ios(问1)

通过协议分级筛选一下TCP的流量

在进行追TCP流

发现第十五个流执行了root指令

往下开始追一下ip

ip和端口都在下面

这题只需要ip,所以flag已出

NSSCTF{3.128.156.159}

[陇剑杯 2021]ios(问2)

还是在刚刚的第15个TCP流里面,可以直接看到他github访问的url中,就有开源项目

即得flag,注意题目中说的是小写字母,要注意。

NSSCTF{stowaway}

Misc

[陇剑杯 2021]ios(问3)

这里记录ip位置上面就有黑客执行的指令,指令后面跟的就是密钥的明文

即得flag

NSSCTF{hack4sec}

[陇剑杯 2021]ios(问4)

打开wireshark里的首选项

可以筛选HTTP/2数据包,

你可以确保捕获到所有潜在的攻击请求

将题目给的密钥导入进去

再用脚本批量解码URL

在进行判断

每个字符的最后一次尝试就是对的

那么我们筛选一下就可以得出一个十六进制的密文,然后解密一下就出来了,不过多出来三个ZZZ得删除掉

这里我手动筛选出来,应该可以写个脚本筛选

37 34 36 35 35 38 66 33 2D 63 38 34 31 2D 34 35 36 62 2D 38 35 64 37 2D 64 36 63 30 66 32 65 64 61 62 62 32 5A 5A 5A 6A

16进制转字符

746558f3-c841-456b-85d7-d6c0f2edabb2ZZZj

得到flag为

NSSCTF{746558f3-c841-456b-85d7-d6c0f2edabb2}

Misc

[陇剑杯 2021]ios(问5)

tcp.flags.reset == 1 and tcp.flags.ack == 1 and tcp.window_size == 0

tcp.flags.reset == 1   将RST的tcp包筛选出来
tcp.flags.ack == 1     将ACK的tcp包筛选出来
tcp.window_size == 0   将Win=0的tcp包筛选出来

通过语法可以搜索到

第一个包的端口为10

最后一个包的端口为499

即得flag

NSSCTF{10-499}

[陇剑杯 2021]ios(问7)

查看流量发现1.8访问了1.12以及 172.28.0.2

即flag为

NSSCTF{172.28.0.2#192.168.1.12}

Misc

[陇剑杯 2021]ios(问8)

通过日志可以发现黑客webshell的密码

可发现webshell且密码为fxxk

NSSCTF{fxxk}

[SWPU 2020]找找吧

1.是个加密的压缩包,尝试了一下爆破没爆破出来,放进Winhex里面看一下

2.发现一个key,尝试一下是不是压缩包的密码

发现密码成功

3.里面是一个mp3文件和一个加密的压缩包

4.使用audcity工具打开 mp3文件,发现末尾像莫尔斯密码,其宽的表示-,其窄的表示. 空格表示/.

得到:

-…/…-/…–/----./-…/…–/./----./…—/-…/-----/.----/…—/.-/.-/-…

摩斯密码得到:D43963E92B012AAB

5.使用该密码去破解secret.rar发现不对

6.使用Winhex 查看findme.mp3发现文件格式为 rar文件

7.将mp3修改为rar,解压得到

8.继续使用audcity工具打开 mp3文件,发现末尾像莫尔斯密码,其宽的表示-,其窄的表示. 空格表示/.

刚上次的一样

得到的莫尔斯密码和前面一样(比上文的莫尔斯电文更明显)。摩斯密码得到 :D43963E92B012AAB

10.使用在线MD5解码工具对D43963E92B012AAB进行解密,得到密码:n1ce_try

11.使用得到的密码对secret.rar解压得到两张图片

12.使用 010编辑器对hint.png图片进行高度修改,保存图片。

13。查看图片,发现图片上有一串字符:veni ,vidi,vici,百度发现是凯撒大帝说的语录

14.使用Stegsolve查看git图片的frame信息,发现里面有字符bFyd_W1l3_Cah

15.通过前面图片搜索的字面意思是凯撒语录,那就猜测组后结果是凯撒解密。因此将bFyd_W1l3_Cah对其解密,联想这道题目是SWPU,最终的解密为:sWpu_N1c3_Try

后面的步骤是看的WP,有点抽象

NSSCTF{sWpu_N1c3_Try}

Misc

[鹤城杯 2021]Misc2

解压完是一张图片,放入zsteg上解析一下,发现html编码

zsteg工具

解密一下

NSSCTF{h0w_4bouT_enc0de_4nd_pnG}

[SWPU 2019]伟大的侦探

文件夹被加密了

我们看看把密码.txt扔进010

看不懂是什么字符集,看了眼WP字符集为EBCDIC

切换好发现密码wllm_is_the_best_team!

文件夹里一堆跳舞小人,看了一眼WP给了一张解码图

最后解得flag

NSSCTF{iloveholmesandwllm}

### BUUCTF MISC &#39;给我天光明&#39; 解题思路 此题目属于BUUCTF中的MISC类别,主要涉及一种名为Brainfuck的小众编程语言。这种语言以其极简的设计而闻名,仅通过有限的指令集来操作内存单元[^1]。 #### Brainfuck简介 Brainfuck是一种图灵完备的语言,其语法由八个字符组成:`<`, `>`, `+`, `-`, `[`, `]`, `,`, 和 `.`。这些字符分别用于移动指针、修改数值以及输入/输出数据。由于其晦涩难懂的特点,在CTF竞赛中常被用来测试选手的逆向工程能力。 #### 题目分析 对于‘给我天光明’这道题而言,参赛者需要解析一段给定的Brainfuck代码并理解它的功能逻辑。通常情况下,这类挑战会提供一个看似复杂的BF程序作为附件或者直接嵌入到题目描述当中。目标是从这段代码中提取出隐藏的信息(比如flag)。 以下是解决该类题的一般方法: 1. **熟悉Brainfuck基础** 学习如何解读基本命令序列及其作用于虚拟机上的效果是非常重要的第一步。例如,“+++++++”表示增加当前单元格值7次;“<<>>”则是在数组间来回切换位置等操作。 2. **利用工具辅助执行** 手动模拟较长且复杂的BF脚本可能非常耗时低效,因此可以借助现有的解释器软件快速运行所给出的源文件内容。一些常用的在线平台包括Esoteric IDEs网站或是其他专门支持多种奇异语言编译环境的服务商链接地址。 3. **观察模式识别规律** 很多时候编写好的bf函数内部存在重复结构或特定算法实现片段,仔细研究它们有助于发现潜在线索指向最终答案所在之处。如果遇到循环语句([ ]), 特别注意初始条件设置与终止判断标准之间的关系, 这往往决定了整个流程走向的关键部分. 4. **调试优化效率考量** 当面对超大规模的数据处理需求时(如百万级迭代次数),单纯依赖简单逐行仿真可能会显得力不从心。此时考虑采用更高级别的抽象层面上的方法论来进行性能改进就变得尤为重要了。比如说预计算某些固定表达式的中间结果存储起来供后续多次调用共享使用从而减少冗余运算开销等等技巧都可以有效提升整体表现水平. ```python def brainfuck_interpreter(code): memory = [0]*30000 # Initialize Memory Tape with zeros. pointer = 0 # Pointer starts at the first cell (index zero). output_string = "" # To collect all outputs during execution loop_stack = [] # Stack used to handle loops properly i=0 # Instruction counter/index variable initialization before entering main processing loop below: while(i<len(code)): cmd_char = code[i] if(cmd_char==&#39;>&#39;): pointer +=1 elif(cmd_char==&#39;<&#39;) : pointer -=1 elif(cmd_char==&#39;+&#39;): memory[pointer]+=1 elif(cmd_char==&#39;-&#39;): memory[pointer]-=1 elif(cmd_char==&#39;.&#39;): ascii_val =memory[pointer] char_repr=chr(ascii_val) output_string+=char_repr elif(cmd_char==&#39;,&#39;): user_input=input("Enter single character:") input_ord_value=ord(user_input[:1]) memory[pointer]=input_ord_value elif(cmd_char==&#39;[&#39;): if(memory[pointer]==0): bracket_count=-1 while(bracket_count!=0): next_cmd=code[i] if(next_cmd==&#39;[&#39;): bracket_count-=1 elif(next_cmd==&#39;]&#39;): bracket_count+=1 i+=1 elif(cmd_char==&#39;]&#39;): if(memory[pointer]!=0): back_steps=-1 prev_brackets_found=False while(not prev_brackets_found): previous_command=code[i-back_steps] if(previous_command==&#39;[&#39;): prev_brackets_found=True else: back_steps+=1 i=i-(back_steps)-1 i+=1 return output_string example_code="++++++++++[>+++++++<-]>++.--." result=brainfuck_interpreter(example_code) print(result) # Should print "Hello World!\n" ``` 上述Python代码展示了一个简单的Brainfuck解释器框架,能够帮助理解和验证较短长度内的BF脚本行为特征。将其应用于实际比赛场景下的复杂实例之前还需要进一步完善错误检测机制等功能模块设计细节方面的工作。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值