ubuntu 安装gdb_pwntools安装与简单使用(初学习持续更新)

小白一枚,初学轻喷

0x01.pwntools简介

pwntools 是一款专门用于CTF Exploit的python库,能够很方便的进行本地与远程利用的切换,基本涵盖了pwn题利用脚本所需要的各种工具。

0x02.pwntools安装

在Ubuntu中安装,这个是python2的,python3不能pip安装,还要安装其他东西,在这里就不详述了

sudo pip install pwntools

0x03.pwntools的常用模块

Pwnlib.asm :通过capstone进行汇编与反汇编,支持x86/x64/arm/mips/powerpc等基本上所有的主流平台 Pwnlib.dynelf : 用于远程符号泄漏,通过leak数据来自动化定位程序中函数位置(极其实用) Pwnlib.elf : 对elf文件进行读写(实用方便) Pwnlib.gdb : 配合gdb进行调试 Pwnlib.memleak : 用于内存泄漏,可拼接多次泄露出来的内存 Pwnlib.shellcraft : shellcode的生成器 Pwnlib.tubes : 包括tubes.sock, tubes.process, Pwnlib.tubes.ssh, tubes.serialtube,分别适用于不同场景的PIPE Pwnlib.utils : 一些实用的小功能,例如CRC计算,cyclic pattern等 Pwnlib.rop rop生成工具,可以直接生成32位rop

0x04pwntools的简单使用

用于导入pwntools模块

from pwn import *

连接

本地:p = porcess("./文件名")

远程:p = remote("地址",端口)

关闭连接:close()

# p是看个人的

接收数据

recv()

recvall()

recvline("World")

# recv()接收指定个字节

# recvall()会一直接收到文件EOF(文件结束符)

# recvline()接收到指定数据结束

asm()函数接收一个字符串为参数,得到汇编码的机器代码

asm(shellcraft.sh)

shellcraft模块是shellcode的模块,包含一些生成shellcode的函数 例:

1. >>>asm('mov eax, 0')

2. '\xb8\x00\x00\x00\x00'

Context设置

context是pwntools用来设置环境的功能。一些二进制文件的情况不同,设置环境来正常运行exp,例如一些时候需要进行汇编,32位汇编和64位汇编不同,若不设置context可能会导致一些问题

context(os='linux', arch='amd64', log_level='debug')

1.os是设置系统为Linux系统 2.arch是设置架构为amd64,可以简单的认为设置为64位的模式,32位对应'i386' 3.log_level设置日志输出等级为debug,这句话在调试的时候一般会设置,这样pwntools会将完整的io过程都打印下来,使得调试更加方便,可以避免在完成CTF题目时出现一些和IO相关的错误补充:1.日志输出等级由高到低:debug

数据打包

p32/p64:打包一个整数,分别为32位或64位 u32/u64:解包一个字符串,得到整数 p->pack 打包 u->unpack 解包

payload = p32(0xabcdefgh)

# 打包一个32位的整数

数据输出

some_str = "Hello_world"

log.info(some_str)

info位log等级,Logger就是日志记录器

参考:https://blog.csdn.net/weixin46436680/article/details/105784528 http://brieflyx.me/2015/python-module/pwntools-intro/ https://www.jianshu.com/p/8d6b605eb7fc https://blog.csdn.net/qq29343201/article/details/51337025?utm_source=app

8e1e960a-0b36-eb11-8da9-e4434bdf6706.svg abb25ba7e02424d8871c78a8ff48dc1e.png fadb7dce5baa936d7398f23d43a02943.png 8e1e960a-0b36-eb11-8da9-e4434bdf6706.svg

平顶山学院· 沙漏安全团队

    微信号|SLteam666

奋发努力|拼搏向上

本期编辑|yu jian

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值