pwnable-1-fd

pwn的学习周期确实比较长,需要的前置内容也很多,了解到第一题还算比较简单的,那就先来体验一波~顺带附一波网站链接:👉网站链接

题目

题目描述

WP

最后一行给出了ssh链接方式,那就先连接一波
在这里插入图片描述
第一次连接会有第四行的询问,yes就行
(这里windows和linux都可以)

当然按一般思路,进来了就先看看有什么文件吧
在这里插入图片描述
flag应该就是目标文件,还有两个fd

在这里插入图片描述
这么看的话大概要运行fd,来操作输出咱们的flag
那就先输出一下fd.c看看她里面干了啥吧

在这里插入图片描述
这里看到要传入一个int,而这个int决定了后期fd的取值,那就看看后面这个fd要做些什么

  1. 首先确定我们的目标是要执行system
  2. strcmp(“LETMEWIN\n”, buf)==0
  3. buf=“LETMEWIN\n”
  4. 找上面为buf赋值的函数,则可确定read(fd, buf, 32)将buf设为“LETMEWIN\n”
  5. 这就涉及C语言read函数的调用
    这是read函数的定义
    ssize_t read(int fd, void * buf, size_t count);
    
    fd == 0为标准输入
    fd == 1为标准输出
    fd == 2为标准错误输出
    所以这里就可以让fd=0,那么输入的数据就是0x1234,int型就是4660

然后就可以执行代码啦!
在这里插入图片描述
传入4660,然后下一步她没有输出,是让你输入不要在那等他应答!(看代码!)
然后flag就出来啦!提交一波~
在这里插入图片描述

结论

C在pwn里真的很重要,要去捡好几年不用的C了啊啊啊

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值