博客
关于我
Exploit-Exercise之Protostar-format
阅读量:734 次
发布时间:2019-03-21

本文共 1343 字,大约阅读时间需要 4 分钟。

Protostar环境分析与漏洞利用

在当前的漏洞梳理中,逐一分析&解决各类格式化字符串漏洞问题。文档将从简单的Heap Overflow到复杂的Flow Control Hijacking进行梳理,详细解释各个漏洞类型及其利用方法。

1. Format0 弃_stack Overflow

  • 环境准备

    • 使用VMware安装protostar镜像,获取root权限捆绑。登录后,运行以下命令获取路径信息:
    apt install python	ls /opt/protostar/bin/
  • 漏洞分析

    • 漏洞类型:Stack Overflow, Format String vulnerability.
    • 工具:gdb调试、Python脚本输入测试。
    • 关键点:利用sprintf函数未加校验,直接将字符串拷贝至内存堆栈.
  • 技术细节

    • gdb调试:设置断点,观察vars.
    note ↗ (gdb) b 0x08048416
    • 访问目标:Axes中的前三条件:
    输入: A x 60 + "BBBBCCCC..."

    通过 Curry созд造特定偏移量,在eax中这样处= 0xdeadbeef.

  • 实验结果ByteArrayOutputStream Detach/Title masters串表打印,感叹成功获取了目标值。

  • 总结

    • 使用精心设计的Python脚本输入,发现(nil及Buffer OverflowWind idea.
  • 2. Format1的漏洞利用

  • 漏洞类型:Format String覆盖幂函数器,易受攻击者的手。

    • 关键点:printf函数的输入未校验,允许任意写内存区域.
    • 目标:覆盖目标地址,将特定针别值编入内存空间。
  • 技术细节

    • 用gdb分析调用链:
    (gdb) x /vuli 0x08048400
    • 找出目标地址:Log显示目标地址位于 Ox08049638,小端序转换成 '\x038\x096\x04\x08'.
    • Python脚本构造
    输入(str("AAAAAAAA")\+(%08x\n)*140)
    • 根据偏移Found进行微调,填充到对齐位进行输入。
  • 实验结果Nelson移动到怎么样地点看一次,检查字符值很高的偏移数。

  • 3. Format2特定值覆盖

  • 漏洞类型:Format String中的针对性覆盖.

    • 关键点:覆盖特定内存点的指定值.
    • 目标:将target变量覆盖为0x01025544.
  • 代码分析:使用gdb查看汇编指令,确认变量target位于构造的小端序node.

  • 测试:输入60个A加上129个字节的格式化字符串,后续进行调整填充到达63字节。

  • **rsum会导到控制流changes.

  • 4. Format4劫持执行流程

  • 漏洞类型:控制程序违反GOT查找表.

    • 关键点:干扰exit()的函数指针,调用指定的函数hellow.
    • 目标:覆盖exit的地址将其调用为hello().
  • 工具方法:构造Python脚本中的字符串,覆盖pertinent的目标地址。覆盖声音为hello函数地址].

  • 验证:运行程序测试,查看是否正确到达了hello函数。

  • 通过这个流程,全面应对了各级别的format字符串漏洞问题,加深了对不同漏洞趁机利用的理解和实战能力。

    转载地址:http://xpegz.baihongyu.com/

    你可能感兴趣的文章
    Objective-C实现memset函数功能(附完整源码)
    查看>>
    Objective-C实现merge insertion sort合并插入排序算法(附完整源码)
    查看>>
    Objective-C实现merge sort归并排序算法(附完整源码)
    查看>>
    Objective-C实现mergesort归并排序算法(附完整源码)
    查看>>
    Objective-C实现miller rabin米勒-拉宾素性检验算法(附完整源码)
    查看>>
    Objective-C实现Miller-Rabin素性测试程序(附完整源码)
    查看>>
    Objective-C实现Miller-Rabin素性测试程序(附完整源码)
    查看>>
    Objective-C实现MinhashLSH算法(附完整源码)
    查看>>
    Objective-C实现MinHeap最小堆算法(附完整源码)
    查看>>
    Objective-C实现multilayer perceptron classifier多层感知器分类器算法(附完整源码)
    查看>>
    Objective-C实现n body simulationn体模拟算法(附完整源码)
    查看>>
    Objective-C实现naive string search字符串搜索算法(附完整源码)
    查看>>
    Objective-C实现natural sort自然排序算法(附完整源码)
    查看>>
    Objective-C实现nested brackets嵌套括号算法(附完整源码)
    查看>>
    Objective-C实现nevilles method多项式插值算法(附完整源码)
    查看>>
    Objective-C实现newtons second law of motion牛顿第二运动定律算法(附完整源码)
    查看>>
    Objective-C实现newton_raphson牛顿拉夫森算法(附完整源码)
    查看>>
    Objective-C实现NLP中文分词(附完整源码)
    查看>>
    Objective-C实现NLP中文分词(附完整源码)
    查看>>
    Objective-C实现not gate非门算法(附完整源码)
    查看>>