pwntools用docker实现,进行pwn题解答
文章目錄
- 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目錄
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)到這里
棧中數(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)題。
- 上一篇: 镇江职业技能大赛
- 下一篇: VS报错:此项目需要缓解Spectre漏