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

常熟网站制作设计长沙房产

常熟网站制作设计,长沙房产,办公网络建设项目商务要求,wordpress炫彩主题破解版目均模拟真实CTF赛题,需结合动态调试与工具链(pwntools/ROPgadget/one_gadget)完成利用。 覆盖栈、堆、格式化字符串、高级堆利用、沙箱逃逸五大方向,从基础ROP到House of Apple,逐步提升对抗防护的能力。 题目1&…

目均模拟真实CTF赛题,需结合动态调试与工具链(pwntools/ROPgadget/one_gadget)完成利用。

覆盖栈、堆、格式化字符串、高级堆利用、沙箱逃逸五大方向,从基础ROP到House of Apple,逐步提升对抗防护的能力。

题目1:栈溢出+ROP绕过NX与Canary

名称babyrop
描述:目标程序是一个64位ELF文件,存在栈溢出漏洞,但开启了NX和Canary保护。请获取远程服务器的shell。
考察点:Canary泄露、ROP链构造、基础栈溢出利用。
解答步骤

  1. 漏洞分析
    • 逆向发现程序在读取输入时使用gets函数,导致栈溢出。

    • 输入长度超过缓冲区后,可以覆盖Canary和返回地址。

  2. 利用思路
    • 通过溢出泄露Canary值,绕过栈保护。

    • 构造ROP链调用system("/bin/sh")绕过NX。

  3. EXP关键代码
    from pwn import *
    p = process('./babyrop')
    payload = b'A'*offset_canary + p64(canary) + b'A'*8 + rop_chain
    p.sendline(payload)
    p.interactive()
    

详细解答

  • 使用%p格式字符串泄露Canary(或通过逐字节爆破)。

  • 利用ROPgadget查找pop rdi; retsystem地址,拼接ROP链。

题目2:堆溢出+Unlink攻击

名称heap_unlink
描述:一个32位程序存在堆溢出漏洞,允许覆盖相邻堆块的size字段,触发Unlink攻击。
考察点:堆布局、Unlink利用、伪造堆块结构。
解答步骤

  1. 漏洞分析
    • 输入数据时未检查长度,导致堆溢出,可覆盖下一个堆块的prev_sizesize字段。

  2. 利用思路
    • 伪造一个空闲堆块,通过Unlink操作实现任意地址写。

    • 覆盖free@gotsystem地址,触发free("/bin/sh")

  3. EXP构造
    # 伪造堆块结构
    fake_chunk = p32(0xdeadbeef) + p32(heap_addr - 12)  # fd/bk指针
    payload = b'A'*overflow_size + p32(0x80) + p32(0x88 | 0x1) + fake_chunk
    

详细解答

  • 通过溢出修改sizePREV_INUSE位,触发合并操作。

  • 利用Unlink的FD->bk = BKBK->fd = FD实现任意地址写入。

题目3:格式化字符串+栈迁移

名称fmt_stack_pivot
描述:程序存在格式化字符串漏洞和栈溢出漏洞,但溢出空间不足,需结合栈迁移技术完成利用。
考察点:格式化字符串泄露、栈迁移(Stack Pivot)、ROP链构造。
解答步骤

  1. 漏洞分析
    • 使用printf(user_input)导致格式化字符串泄露libc地址。

    • 栈溢出长度不足以覆盖返回地址,但可覆盖rbp

  2. 利用思路
    • 泄露栈地址和libc基址。

    • 覆盖rbp为可控内存地址,通过leave; ret指令实现栈迁移。

  3. EXP关键代码
    payload = fmtstr_payload(offset, {printf_got: system_addr})  # 格式化字符串覆盖GOT表
    payload += p64(migrated_stack_addr)  # 覆盖rbp
    

详细解答

  • 利用%nrbp位置写入目标地址。

  • 迁移后在新栈布置ROP链调用system("/bin/sh")

题目4:Use After Free + Fastbin Attack

名称uaf_fastbin
描述:程序在释放堆块后未清空指针,可通过UAF修改fd指针,实现任意地址分配。
考察点:UAF漏洞利用、Fastbin Attack、内存布局。
解答步骤

  1. 漏洞分析
    • 释放堆块后仍能使用悬垂指针修改其fd值。

  2. 利用思路
    • 修改fd指向伪造的Fastbin链,分配堆块到__malloc_hook附近。

    • 覆盖__malloc_hookone_gadget地址。

  3. EXP构造
    # 分配并释放堆块A
    free(A)
    # 通过UAF修改A的fd为fake_addr
    edit(A, p64(fake_addr))
    # 再次分配两次,第二次得到fake_addr处的堆块
    

详细解答

  • 计算__malloc_hook附近的可用地址(如利用0x7f对齐特性)。

  • 使用one_gadget工具查找可直接触发shell的gadget。

题目5:高级堆利用+沙箱逃逸

名称house_of_apple
描述:程序开启沙箱(禁用execve),需通过堆漏洞构造ORW链读取flag文件。
考察点:House of系列利用、沙箱逃逸、SROP(Sigreturn-Oriented Programming)。
解答步骤

  1. 漏洞分析
    • 存在任意地址写漏洞,可劫持_IO_list_all指针。

    • 沙箱限制只能使用open/read/write系统调用。

  2. 利用思路
    • 伪造_IO_FILE结构体,触发_IO_flush_all_lockp中的函数调用链。

    • 构造ROP链调用open("flag")read(fd, buf, 0x100)write(1, buf, 0x100)

  3. EXP关键代码
    # 伪造_IO_FILE结构
    fake_file = p64(0) * 18 + p64(0) + p64(1) + p64(0xffffffff) + p64(rop_chain_addr)
    

详细解答

  • 利用House of Apple技术劫持程序流至ROP链。

  • 通过syscall; retgadget拼接ORW链。

http://www.dtcms.com/a/442412.html

相关文章:

  • 【OpenCV】图像处理入门:从基础到实战技巧
  • 站群系统破解版急切网头像在线制作图片
  • 快速排序的深入优化探讨
  • HTTP~
  • AI-调查研究-94-具身智能 机器人算法真机验证全流程解析:测试平台、部署方案与接口对接
  • leetcode 37 解数独
  • 105、23种设计模式之策略模式(14/23)
  • BLE 蓝牙连接参数详解
  • 手机版做我女朋友网站域名申请时间需要多久
  • 【ROS2学习笔记】URDF 机器人建模
  • 哈尔滨多语言网站建设jsp源码做网站
  • 【Linux学习笔记】线程概念和控制(三)
  • 第2集:技术选型的智慧:Flask vs FastAPI,GLM-4 vs GPT
  • 做pc端网站行业现状网站 建设设计方案
  • 【c++】初识STL和string类
  • 网站建设同行抄袭玖云建站系统
  • 24 小时开发 IDM 浏览器智能嗅探插件:从 0 到 1 的效率工具搭建指南
  • 如何查网站死链收费网站推广
  • 最好的图像编辑器有哪些?
  • 【开题答辩实录分享】以《基于Python的旅游网站数据爬虫研究》为例进行答辩实录分享
  • 深圳网站建设 设计科技网站维护属于什么部门
  • DAY25 综合案例
  • 计算机网络(三):物理层(通信基础、传输介质、物理层设备)
  • app优化网站怎么用手机搭建网站
  • 郑州网站建设灵秀网店代运营怎么做
  • 宝塔环境下upload目录按月增量同步至阿里云OSS自动化脚本
  • 公域流量转化困境下开源AI智能名片与链动2+1模式的S2B2C商城小程序应用研究
  • YOLO算法原理详解系列 第001期-YOLOv1 算法原理详解
  • 竞赛管理系统|基于SpringBoot和Vue的竞赛管理系统(源码+数据库+文档)
  • 镇江网站建设包括哪些传媒网站后台免费模板