LCTF2018 PWN easy_heap 远程环境搭建

为了解决环境问题,使用Docker创建了一个基于glibc 2.27的环境,适用于Tcache机制的PWN题目本地测试。采用了pwngdb作为gdb插件,提供了GitHub链接和docker镜像导入教程。调试时,通过docker cp将题目文件复制到容器,然后使用gdb attach进行调试。
摘要由CSDN通过智能技术生成

一直很头疼环境的问题,需要目标环境的glibc版本是2.27,而我的是2.23
如果开启第二个虚拟机占用内存太大,所以我选择用docker
于是终于找到了能在libc2.27下工作的gdb插件pwngdb(注意不是那个pwndbg)
所以这个镜像可以作为Tcache机制题目的本地测试容器
GitHub
docker镜像:链接:https://pan.baidu.com/s/1eCIbJl3Ig9LeFA2DRlQgLA 提取码:l0pw

使用方法:

  1. 从GitHub上下载全部镜像
  2. 向docker中导入镜像
  3. 使用docker run命令创建容器,注意在启动命令中加上 --cap-add sys_ptrace,这样是为了能让gdb去attach到进程
  4. 使用docker cp命令将题目复制到容器中
  5. 使用ifconfig命令查询ip
  6. 使用socat tcp-l:[port],fork exec:[filepath]开启监听

写完pwn脚本想要调试的时候,可以用remote(ip,port)连接到docker,然后在想要停下的地方写下raw_input(),然后再开启一个终端使用docker exec命令进入该容器中,使用gdb attach [PID]命令附加进程,然后下断点,然后进行调试

关于pwngdb的命令:https://github.com/scwuaptx/Pwngdb

其中,heap命令被覆盖,也就不存在这个指令了,不过heapinfo这个指令还不错

exp
#! /usr/bin/env python2
# -*- coding: utf-8 -*-
# vim:fenc=utf-8
#
import sys
import os
import os.path
from pwn import *
context(os='linux', arch='amd64', log_level='debug')

#p = process('./easy_heap')
p = remote('172.17.0.2',8888)
libc = ELF('./libc-2.27.so')

def 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值