当前位置: 首页 > news >正文

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了啊啊啊

http://www.lryc.cn/news/193900.html

相关文章:

  • 队列的实现(c语言)
  • 雷电模拟器上使用第一个frida(五)用python实现逆向分析并模拟登陆
  • 基于Linux上MySQL8.*版本的安装-参考官网
  • git 项目管理操作
  • 数据结构--》掌握数据结构中的排序算法
  • Kubernetes实战(三)-k8s节点设置cpu高于多少就不调度
  • 数学建模——平稳时间序列分析方法
  • Vuex使用方式及异步问题处理
  • 【Vue面试题二十七】、你了解axios的原理吗?有看过它的源码吗?
  • LocalDateTime与时间戳
  • 【Power BI】Power BI 入门指南:版本、下载和报表创建的步骤
  • 代码随想录算法训练营第23期day21| 235. 二叉搜索树的最近公共祖先 、701.二叉搜索树中的插入操作、450.删除二叉搜索树中的节点
  • 小程序页面路由传参的方法?
  • Ubuntu下安装Python
  • 宝塔使用腾讯COS存储实现自动备份服务器网站数据图文教程
  • npm命令介绍
  • openGauss学习笔记-100 openGauss 数据库管理-管理数据库安全-客户端接入之用SSL进行安全的TCP/IP连接
  • ESP8266 Node Mcu开发板连接WIFI并上报数据到MQTT服务器——物联网应用开发
  • 苍穹外卖(八) 使用WebSocket协议完成来单提醒及客户催单功能
  • 网站如何应对网络流量攻击
  • 设置Json序列化时字段的顺序
  • AcWing5277. 三元组
  • 【LeetCode热题100】--121.买卖股票的最佳时机
  • 高精度计算
  • KMP 算法 + 详细笔记
  • 基于主动移频法与AFD孤岛检测的单相并网逆变器matlab仿真
  • MIT 6.S081 Operating System/Fall 2020 macOS搭建risc-v与xv6开发调试环境
  • JMeter定时器
  • zookeeper应用场景(二)
  • Android webView加载高德地图定位不显示问题