【CTF】RE Backdoor CTF 2015 TEAM 600

来源: Backdoor CTF 2015

There is a wierd kind of authentication service running: nc hack.bckdr.in 8004. The binary can be found here. The vampire says that there is no need for bruteforce.

?

解题思路:

看一下文件格式

不管那么多,先扔到IDA里面看看

随便选择一个函数,按X(虽然好笨的方法但是很实用?注意光标位置)

重复这个过程,直至不能找到引用函数

找到主函数后按F5看看源码

这里调用了一个函数,跟进去可以看出这里在进行flag校验

注意箭头,这里直接将我们输入的字符串输出,这里看来存在printf format 漏洞

好了,直接上gdb,先看看主函数入口

Linux下进行调试,最常用的就是GDB了,虽然个人用惯了Od感觉用起来操作还是有点繁琐,但是大神都是这么说的我也就跟着了233

为了方便贴上常用快捷键。


GDB常用命令


格式


含义


简写


list


List [开始,结束]


列出文件的代码清单


l


prit


Print 变量名


打印变量内容


p


break


Break [行号或函数名]


设置断点


b


continue


Continue [开始,结束]


继续运行


c


info


Info 变量名


列出信息


i


next


Next


下一行


n


step


Step


进入函数(步入)


S


display


Display 变量名


显示参数


??


file


File 文件名(可以是绝对路径和相对路径)


加载文件


??


run


Run args


运行程序


r

?

接下来上gdb

单步跟踪到printf(a1)函数处,然后查看一下栈的情况,我们可以再0xbffff048处看到自己存储在flag.txt中的flag

这里我们可以判断出flag在栈中的位置(esp+4*M+flag),通过测试,我们可以知道M=9,因此我们可以构造如下format字符串

然后就可以连接了,可以看到我们已经取得了flag的16进制形式

可以放到notepad++(插件->Converter->hex to Ascll )里面转一下,或者自己用python写个脚本?(好吧是我嫌弃notepad++太丑了233)

得到flag

?

@Reference bluecake(中国好室友)

时间: 2024-11-08 07:06:56

【CTF】RE Backdoor CTF 2015 TEAM 600的相关文章

【CTF】Reverse Backdoor 2015 Echo

来源: Backdoor CTF 2015 Little Suzie started learning C. She created a simple program that echo's back whatever you input. Here is the binary file. The vampire came across this service on the internet. nc hack.bckdr.in 8002. Reports say he found a flag

【BZOJ4103】[Thu Summer Camp 2015]异或运算 可持久化Trie树

[BZOJ4103][Thu Summer Camp 2015]异或运算 Description 给定长度为n的数列X={x1,x2,...,xn}和长度为m的数列Y={y1,y2,...,ym},令矩阵A中第i行第j列的值Aij=xi xor  yj,每次询问给定矩形区域i∈[u,d],j∈[l,r],找出第k大的Aij. Input 第一行包含两个正整数n,m,分别表示两个数列的长度 第二行包含n个非负整数xi 第三行包含m个非负整数yj 第四行包含一个正整数p,表示询问次数 随后p行,每行

【转载】STA 4273H Winter 2015 - Lectures

STA4273H Home   Lecture Schedule/Notes Assignments/Project Computing   Ruslan Salakhutdinov Homepage http://www.cs.toronto.edu/~rsalakhu/   STA 4273H Winter 2015 - Lectures Video Archive here. Lecture Schedule Lecture 1 -- Machine Learning:Introducti

【转】让Visual Studio 2015 支持ASP.NET MVC4.0.0.1

近日装上了Visual Studio 2015 ,打开之前vs2013创建的MVC4的项目发现无法编译通过,提示System.Web.MVC,System.Web.WebPages 等找不到,网上搜索无果,遂想是否可以通过独立安装包实现. 从下边这个链接下载了 用于 Visual Studio 2010 SP1 和 Visual Web Developer 2010 SP1 的 ASP.NET MVC 4 安装后果然有几个地方没问题了,但唯独System.Web.MVC这个引用还有个黄色叹号,不

【暑假】[深入动态规划]UVa 1627 Team them up!

UVa 1627 Team them up! 题目: Team them up! Time Limit: 3000MS   Memory Limit: Unknown   64bit IO Format: %lld & %llu Submit Status Description Your task is to divide a number of persons into two teams, in such a way, that: everyone belongs to one of th

【HDOJ】4251 The Famous ICPC Team Again

划分树模板题目,主席树也可解.划分树. 1 /* 4251 */ 2 #include <iostream> 3 #include <sstream> 4 #include <string> 5 #include <map> 6 #include <queue> 7 #include <set> 8 #include <stack> 9 #include <vector> 10 #include <deq

【转】【UML】使用Visual Studio 2010 Team System中的架构师工具(设计与建模)

Lab 1: 应用程序建模 实验目标 这个实验的目的是展示如何在Visual Studio 2010旗舰版中进行应用程序建模.团队中的架构师会通过建模确定应用程序是否满足客户的需求. 你可以创建不同级别的详细模型,并将它们彼此结合.测试然后发布到你的开发计划里. 在这个实验中, 我们将重点放在如何创建一系列简单的系统建模图形上. 每个练习应该在 30分钟内完成. Exercise 1 – 理解用户需求 绘制活动.类以及其他UML图形能帮助架构师清晰辨别客户的习惯.业务规则以及其他需求,从而使设计

【转】Java面试宝典2015版(绝对值得收藏超长版)(一)

(转自:http://mp.weixin.qq.com/s?__biz=MjM5MTM0NjQ2MQ==&mid=206619070&idx=1&sn=fcb21001d44291a6a4ca61b89bb33d5e#rd) 这套面试题主要目的是帮助那些还没有java软件开发实际工作经验,而正在努力寻找java软件开发工作的朋友在笔试时更好地赢得笔试和面试.由于这套面试题涉及的范围很泛,很广,很杂,大家不可能一天两天就看完和学完这套面试宝典,即使你已经学过了有关的技术,那么至少也需

【题解】亚瑟王 HNOI 2015 BZOJ 4008 概率 期望 动态规划

传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=4008 一道不简单的概率和期望dp题 根据期望的线性性质,容易想到,可以算出每张卡的期望伤害,然后全部加在一起 手算样例之后发现是正确的,那么我们只要求出每张卡的实际被使用的概率就可以了 记第$i$张卡的实际被使用的概率为$fp[i]$ 那么答案就是 $\Large\sum\limits_{i=0}^{n-1}fp[i]\cdot d[i]$ 如何求出$fp[i]$? 首先考虑第一张卡的$f