BUUCTF靶场 [reverse]easyre、reverse1、reverse2

工具:

DIE:下载:https://download.csdn.net/download/m0_73981089/89334360
IDA:下载:https://hex-rays.com/ida-free/

新手小白勇闯逆向区!!!

[reverse]easyre

首先查壳,用DIE看程序信息,看到无壳且是64位的程序,用其相应的IDA打开

用IDAx64打开,查看源码,点开主函数(main)

发现界面是直接由flag字眼,直接点开

便得到flag

[reverse]reverse1

拿到文件,先查壳,用DIE根据下图,可以判断该程序无壳,且程序也是64位

将其用IDA64位打开进行反汇编

看主函数(main)这里是main 0,打开便看到汇编码显眼的flag字眼

还看到这个{}非常像flag

但是不是

回滚到看到显眼flag字眼:

我是小白😳,看的有点困难😅,直接再此界面看伪代码(按F5键)

有点编程小基础应该能猜到红色框是输出printf(print),黄色框框应该是输入scanf

而Str1是我们所需要输入的内容,点开Str2,发现是 {hello_world}字符串

再分析上端代码

大概意思是:

用for循环来遍历Str2这个字符串,如果超过Str2长度则跳出循环,如果再Str2能找到ASCII码为"111",则把其替换为ASCII码为"48"的字符

如果不记得ASCII码可以选中ASCII码键盘按"R"键,会显示ASCII对应的字符,如图

那这样就大概知道了,只需要把Str2" {hello_world}"的o替换为数字0,则是本题的flag

提交成功啦!!!

[reverse]reverse2

刚开始我将文件用010 editor打开,发现了一串很像flag的字符串

输进去,我以为我以为意外解,哇趣,不对,骗人!

仔细想想,这是一道逆向题,不用任何相关文件就能解出flag概率还是很小的 😳

回归正题:

老规矩,先查壳,用DIE工具,没有壳,程序为64位

还是用IDAx64位打开,进行反汇编

还是先查看主函数的汇编代码,大致看了一下,也看到flag的字眼

(看不懂汇编代码的可以跟我操作哦)所以我们先查看伪码(按F5),慢慢分析

s2是我们需要输入的但是flag我们不知道,点击flag进行查看:

看来flag是**{hacking_for_fun}**,等等先别急,我们代码还没有分析呢

输入输出由一些些C语言基础或者C++基础应该是可以看懂的,这里就不过多解释啦

直接看条件

大概意思是:

如果pid不为空,则会执行waitpid这个函数(此不是我们需要重点抓住的),看后边,如果pid为空则for循环遍历flag这个字符串,如果flag上的字符加上从0到其长度的等于ASCII码为105或者114,则改为ASCII码为49

(是不是上一题很像啊,嘻嘻~)

如果不知道ASCII码是不是可以选其ASCII码然后按(R)键

更加一目了然啦!!!

所以最终的flag是将原本的flag"{hacking_for_fun}"所含有"i" 和 "r"字符替换为数字"1",这样就可以拿到本题的flag啦!!!

相关推荐
H轨迹H2 小时前
Vulnhun靶机-kioptix level 4-sql注入万能密码拿到权限ssh连接利用mysql-udf漏洞提权
网络安全·渗透测试·vulnhub·靶机·web漏洞·oscp
黑客笔记6 小时前
ChatGPT超级AI对话模型 黑客十问十答
人工智能·web安全·网络安全
你怎么睡得着的!13 小时前
【护网行动-红蓝攻防】第一章-红蓝对抗基础 认识红蓝紫
网络·安全·web安全·网络安全
anddddoooo18 小时前
域内证书维权
服务器·网络·网络协议·安全·网络安全·https·ssl
白水先森19 小时前
ArcGIS Pro制作人口三维地图教程
arcgis·信息可视化·数据分析
是一只努力的小菜鸡啦21 小时前
数据分析和数据挖掘的工作内容
信息可视化·数据挖掘·数据分析
Sharewinfo_BJ1 天前
智信BI:解决Power BI全面兼容问题的新选择
数据分析·数据可视化·powerbi
顾比魁1 天前
pikachu之CSRF防御:给你的请求加上“网络身份证”
前端·网络·网络安全·csrf
廾匸07051 天前
《95015网络安全应急响应分析报告(2024)》
网络安全·行业报告·应急响应
仇辉攻防1 天前
【云安全】云原生- K8S 污点横移
web安全·网络安全·云原生·容器·kubernetes·k8s·安全威胁分析