首页 > 其他分享 >pwntool

pwntool

时间:2024-10-23 22:43:05浏览次数:6  
标签:function pwntool ELF elf some main payload

基本使用

首先需要 from pwn import * 把 pwntools 导入进来,它同时会把一些系统库给导入进来

本地打的话 p=process('./filename'),远程的话 p=remote('192.168.1.103',10001)

p.close() 关闭

发送 payload

p.send(payload) 发送 payload

p.sendline(payload) 发送 payload,并进行换行(末尾\n)

p.sendafter(some_string, payload) 接收到 some_string 后, 发送你的 payload

p.sendlineafter(some_string, payload) 接收到 some_string 后, 发送你的 payload,加个换行

接收返回内容

p.recvn(N) 接受 N(数字) 字符

p.recvline() 接收一行输出

p.recvlines(N) 接收 N(数字) 行输出

p.recvuntil(some_string) 接收到 some_string 为止

p.interactive() 直接进行交互,相当于回到shell的模式,一般在取得shell之后使用

io.recvuntil("\n", drop = True)``io.recvuntil("\n", drop = True) 会接收数据直到遇到换行符,并返回换行符之前的所有字符。

生成 shellcode

asm(shellcraft.sh())

elf.sym['main']

elf.sym['main'] 用于获取ELF文件中名为main的符号的地址。sym属性提供了访问ELF文件中符号表的功能。通过elf.sym['main'],可以获取到main函数在内存中的地址。

当开启了PIE(Position Independent Executable)和ASLR(Address Space Layout Randomization)之后,ELF文件在内存中的加载地址将不再是固定的。

在这种情况下,elf.sym['main']返回的地址将不再是程序运行时的实际内存地址。相反,它返回的是一个相对地址,通常是基于ELF文件的基地址(base address)的偏移量。

ELF

首先需要 elf=ELF('./filename') 来产生一个对象

elf.symbols['a_function'] 找到 a_function 的地址

elf.got['a_function'] 找到 a_function的 got

elf.plt['a_function'] 找到 a_function 的 plt

elf.next(e.search("some_characters")) 找到包含 some_characters 可以是字符串,汇编代码或者某个数值的地址

debug信息

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

gdb调试

def dbg(io)

​ gdb.attach(io)

​ pause()

checksec

PWN-最新checksec的安装和使用_pwn checksec-CSDN博客

标签:function,pwntool,ELF,elf,some,main,payload
From: https://www.cnblogs.com/r0xy/p/18498534

相关文章

  • 菜鸟笔记之pwn工具篇--pwntools库的基本使用
    啥是pwntools?Pwntools是一个用于漏洞利用和二进制分析的Python库,广泛应用于安全研究、渗透测试和竞争性编程(如CTF,CaptureTheFlag)中。它为用户提供了一套强大的工具和功能,以简化与二进制文件的交互、网络通信以及各种常见任务的执行。简而言之,pwntools可以说是pwn手必备的......
  • 极客大挑战2023-pwn-nc_pwntools WriteUp
    主要考查点Pwntools工具的基本使用方法解题思路1.nc连接题目,得到提示:根据题目,要求发送一个100长度的字符串,而且末尾需要为Sycloverb'A'*92+b'Syclover'2.发送第一个请求后进入第二步要求短时间内计算一个复杂算式,自己算是肯定不可能的,所以pwntools的recv来接收并完成......
  • PwnTools使用技巧
    PwnTools使用技巧一.通过上下文设置目标平台二.本地进程对象的创建语法如下:​​通过声明的二进制文件路径可在本地创建新的进程并与其进行交互在上面创建的进程中,stdin默认使用的是管道。可以通过stdin=PTY来更改默认的设置,这样就能够以交互的方式进行操作。管道是一个单向......
  • 【pwn】[FSCTF 2023]What am I thinking? --pwntools工具的利用
    这道题没给附件,直接就是nc这个题目的意思是,我们随机输入一个数,然后发给我们一段base64加密后的密文,真正num就在里面,我们现在写个pwntools脚本提取一下这段base64密文,解密一下,看看是什么东西exp:io=remote("node4.anna.nssctf.cn",28045)io.sendline(str(2))io.recvuntil(b"......
  • pwntools
    PwntoolsCheatsheet(github上薅的)(方便自己查找)ProgramInteractionEnvironmentandContextsLoggingandOutputEncoding,PackingandUtilityAssemblyandShellcraftELFs,StringsandSymbolsReturnOrientedProgrammingSROPandSigreturnFramesFormatStringEx......
  • pwntools基础知识
    pwntools基础知识连接:本地process()里面放文件名例如process('./test');远程remote(,),remote接受url并指定端口,remote('url',端口)。数据处理:主要对整数进行打包,就是......
  • pwntools
    pwntoolsPwntools是一个CTF框架和漏洞利用开发库,使用Python编写,专为快速原型设计和开发而设计,旨在使漏洞利用编写尽可能简单。github地址:https://github.com/Gallopsl......