Pwnable-fd
打开Ubuntu输入ssh fd@pwnable.kr -p2222,连接之后输入密码guest

之后就是ls -l看看里面的文件和权限,fd、fd.c、flag

看看fd.c的源码
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
char buf[];
int main(int argc, char* argv[], char* envp[]){
if(argc<){
printf("pass argv[1] a number\n");
return ;
}
int fd = atoi( argv[] ) - 0x1234;
int len = ;
len = read(fd, buf, );
if(!strcmp("LETMEWIN\n", buf)){
printf("good job :)\n");
system("/bin/cat flag");
exit();
}
printf("learn about Linux file IO\n");
return 0;
}
要获得flag就要使buf的内容等于LETMEWIN,我们如何让buf的内容等于LETMEWIN,我们先看看read函数的fd
当fd等于0的时候,是标准输入,意味着你可以获得一次通过键盘输入字符串的机会,我们就要利用这次机会把LETMEWIN输入到buf,获得flag
fd如何等于0,atoi是把字符串转换成整型数的一个函数,我们可以看到只要传入4660就可以让它们相减使fd等于0,4660是0x1234的十进制数

mommy! I think I know what a file descriptor is!!
Pwnable-fd的更多相关文章
- pwnable.kr之fd
题目如图: 在终端输入:ssh fd@pwnable.kr -p2222 连接到远程终端,如图: 输入ls -l,查看文件: 输入whoami,查看自身用户名称: 根据题目意思我们只要打开flag文件 ...
- 黑客练手入门| pwnable.kr—幼儿瓶—01:fd
目录 前言 pwnable.kr介绍 该怎么玩 幼儿瓶第一道题:fd 0x00 问题描述 0x01 源码分析 0x02 解题方法 0x03 知识点总结 前言 担心有人不知道pwnable.kr是什么, ...
- pwnable.kr 第一题fd
使用ssh fd@pwnable.kr -p2222连接输入密码guest 1 fd@prowl:~$ ls -al 2 total 40 3 drwxr-x--- 5 root fd 4096 Oc ...
- pwnable.kr的passcode
前段时间找到一个练习pwn的网站,pwnable.kr 这里记录其中的passcode的做题过程,给自己加深印象. 废话不多说了,看一下题目, 看到题目,就ssh连接进去,就看到三个文件如下 看了一下 ...
- pwnable.kr-fd
题目: 链接登录: ssh fd@pwnable.kr -p2222 查看文件及权限: ls –al 看到flag文件,但是当前用户fd并没有读权限. cat fd.c 分析程序: int argc ...
- pwnable.kr-collision -Writeup
bof html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,addres ...
- pwnable.kr-fd-Writeup
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,bi ...
- pwnable.kr详细通关秘籍(二)
i春秋作家:W1ngs 原文来自:pwnable.kr详细通关秘籍(二) 0x00 input 首先看一下代码: 可以看到程序总共有五步,全部都满足了才可以得到flag,那我们就一步一步来看 这道题考 ...
- 【pwnable.kr】 unlink
pwnable.kr 第一阶段的最后一题! 这道题目就是堆溢出的经典利用题目,不过是把堆块的分配与释放操作用C++重新写了一遍,可参考<C和C++安全编码一书>//不是广告 #includ ...
- 【pwnable.kr】lotto
pwnable.好像最近的几道题都不需要看汇编. ssh lotto@pwnable.kr -p2222 (pw:guest) 直接down下来源码 #include <stdio.h> ...
随机推荐
- python的路径问题
## 文件路径出错问题 """ 如何获取与当前文件相关的地址 """ import os # 当前文件的完整路径 print(__file_ ...
- HDU1075 What Are You Talking About(map)
传送门 题目大意:一个单词对应另一个单词 翻译一段文字 题解:stl map走一波 代码: #include<iostream> #include<map> #include& ...
- Luogu P5368 [PKUSC2018]真实排名
老年选手只会做SB题了(还调了好久) 很容易想到分类讨论,按第\(i\)个人有没有翻倍来算 若\(a_i\)未翻倍,显然此时将\([0,\lceil \frac{a_i}{2}\rceil)\)的数和 ...
- Zookeeper搭建集群及协同
Zookeeper搭建集群及协同 协同的实现 首先启动一个zkCli客户端(zkCLi-1),创建一个workers节点. create /workers 使用ls监控当前节点. ls -w /wor ...
- js获取计算机操作系统版本
如题,想要获取当先计算机的操作系统和版本号的话,可以用如下方法. 首先,创建osversion.js文件,文件里面的代码如下 var osData = [ { name: 'Windows 2000' ...
- Docker学习——基本使用
最近公司项目要用docker部署,第一次接触,记录一下,方便使用时查阅. 你有没有遇到过这种情况,在本地运行良好的代码,在另一台电脑或者另一个环境里一堆bug,可以说是水土不服,本质上是两个电脑的运行 ...
- PriorityBlockingQueue
public class PriorityBlockingQueueTest { /** * 有优先级顺序的阻塞队列,底层实现是数组,无边界.默认是11. * 构造方法可以传入一个比较器,不传的话,默 ...
- Spring5源码解析2-register方法注册配置类
接上回已经讲完了this()方法,现在来看register(annotatedClasses);方法. // new AnnotationConfigApplicationContext(AppCon ...
- Docker开启Remote API 访问 2375端口
Docker常见端口 我看到的常见docker端口包括: 2375:未加密的docker socket,远程root无密码访问主机2376:tls加密套接字,很可能这是您的CI服务器4243端口作为h ...
- Java生鲜电商平台-秒杀系统微服务架构设计与源码解析实战
Java生鲜电商平台-秒杀系统微服务架构设计与源码解析实战 Java生鲜电商平台- 什么是秒杀 通俗一点讲就是网络商家为促销等目的组织的网上限时抢购活动 比如说京东秒杀,就是一种定时定量秒杀,在规定 ...