Sage运行pwntools库脚本异常解决:OSError: Int or String expected

需要和Oracle交互的密码学脚本一般都需要借助pwn库的帮助,今天切换了python版本后,出现了一个异常(OSError: Int or String expected,详细异常见文章),查阅一下源码后简单的解决了这个问题,在此分享一下。


文章目录

  • 问题环境与描述
  • 解决方案


问题环境与描述

  • SageMath 10.1
  • Python 3.11.1
  • pwntools 4.11.1

关键代码:

from pwn import *process = remote('127.0.0.1', 7777)

报错:

File ~/.sage/local/lib/python3.11/site-packages/pwnlib/tubes/remote.py:77, in remote.__init__(self, host, port, fam, typ, ssl, sock, ssl_context, ssl_args, sni, *args, **kwargs)75 fam = self._get_family(fam)76 try:
---> 77     self.sock   = self._connect(fam, typ)78 except socket.gaierror as e:79     if e.errno != socket.EAI_NONAME:File ~/.sage/local/lib/python3.11/site-packages/pwnlib/tubes/remote.py:103, in remote._connect(self, fam, typ)100 timeout = self.timeout102 with self.waitfor('Opening connection to %s on port %s' % (self.rhost, self.rport)) as h:
--> 103     for res in socket.getaddrinfo(self.rhost, self.rport, fam, typ, 0, socket.AI_PASSIVE):104         self.family, self.type, self.proto, _canonname, sockaddr = res106         if self.type not in [socket.SOCK_STREAM, socket.SOCK_DGRAM]:File /private/var/tmp/sage-10.1-current/local/var/lib/sage/venv-python3.11.1/lib/python3.11/socket.py:962, in getaddrinfo(host, port, family, type, proto, flags)959 # We override this function since we want to translate the numeric family960 # and socket type values to enum constants.961 addrlist = []
--> 962 for res in _socket.getaddrinfo(host, port, family, type, proto, flags):963     af, socktype, proto, canonname, sa = res964     addrlist.append((_intenum_converter(af, AddressFamily),965                      _intenum_converter(socktype, SocketKind),966                      proto, canonname, sa))OSError: Int or String expected

解决方案

报错是因为Sage把数字转成Long int类型了,而pwntools需要的是Int或者String类型的,只需要在代码里对数字进行显示的强转即可。

解决代码如下:

from pwn import *process = remote('127.0.0.1',int(7777))

ATFWUS 2024-01-08

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/605816.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

OpenAI 也在 996?一位离职员工自白:代码贡献第四,经常工作 6 天丨 RTE 开发者日报 Vol.121

开发者朋友们大家好: 这里是 「RTE 开发者日报」 ,每天和大家一起看新闻、聊八卦。我们的社区编辑团队会整理分享 RTE (Real Time Engagement) 领域内「有话题的 新闻 」、「有态度的 观点 」、「有意思的 数据 」、「有思考的 文…

在python中_signal= pyqtSignal(object) 怎么c++中 像这样统一传递 object

在python中_signal pyqtSignal(object) 怎么c中 像这样统一传递 object? 在C的Qt中,信号的参数类型需要明确指定,因为C是静态类型语言。如果你想要传递一个通用的对象,你可以使用QVariant,它是Qt的一个通用容器类,能够…

SpringClould微服务+分布式事务笔记

SpringClould微服务 拆分项目步骤&#xff1a; 创建模块 导入依赖 复制启动类 复制配置文件 application.yaml 复制有关此模块的代码&#xff08;domain、controller、service、mapper&#xff09; 新建数据库 配置启动项服务注册&#xff1a; <!--nacos 服务注册发现--&…

Prometheus Blackbox_exporter笔记

一、安装Promtheus 在 Prometheus 官网 Download | Prometheus 获取适用于 Linux 的 Prometheus 安 装包&#xff0c;这里我选择最新的 2.46.0 版本&#xff0c;我是 Linux 系统&#xff0c;选择下载 prometheus-2.46.0.linux-amd64.tar.gz 下载安装包&#xff1a; wget htt…

Gateway相关问题及答案(2024)

1、什么是API Gateway&#xff1f;它在微服务架构中有什么作用&#xff1f; API Gateway是一个服务器&#xff0c;通常是一个可以管理和处理所有进出应用程序的请求的反向代理。在微服务架构中&#xff0c;它作为单一的入口点&#xff0c;统一接收来自客户端的调用请求&#x…

多国管理中心多语言区块链源码一元夺宝程序仿趣步奕跑/原生计步器/原生人脸识别

前后台分开的&#xff0c;后台是TP3.2的框架了&#xff0c;应该是比较老的程序了。 目前把整体UI 改版黄色系风格&#xff0c;集成了一元夺宝程序&#xff0c;用户数据同步趣步&#xff0c;效果看起来很棒&#xff0c;另外加入股票走势图&#xff08;K线图&#xff09;&#xf…

世微AP5126宽电压12-80V 1.5A平均电流型LED降压恒流驱动内置IC

产品描述 AP5126 是一款 PWM 工作模式,高效率、外 围简单、内置功率管&#xff0c;适用于 12-80V 输入的高 精度降压 LED 恒流驱动芯片。输出功率可达 15W&#xff0c;电流 1.2A。 AP5126 可实现全亮/半亮功能切换&#xff0c;通过 MODE 切换&#xff1a;全亮/半亮/循环模式…

创建数据库用户

要在MySQL数据库中创建用户&#xff0c;您可以使用以下命令&#xff1a; CREATE USER usernamelocalhost IDENTIFIED BY password;其中&#xff0c;username是您要创建的用户名&#xff0c;localhost表示用户只能从本地连接到数据库&#xff0c;password是用户的密码。 如果要…

使用 Jamf Pro 和 Okta 工作流程实现自动化苹果设备管理

Jamf的销售工程师Vincent Bonnin与Okta的产品经理Emily Wendell一起介绍了JNUC 2021的操作方法会议。它们涵盖了Okta工作流程&#xff08;Okta Workflow&#xff09;&#xff0c;并在其中集成了Jamf Pro&#xff0c;构建了一些工作流程&#xff0c;并提供了几个用例。 Okta 工作…

开发板VS评估板

共性 该设计是围绕特定组件构建的&#xff0c;使设计人员能够在已知可以正常工作的组装板上对该组件进行试验。所有数字和模拟接口都暴露在连接器和/或测试点处&#xff0c;以便可以连接外围设备和其他评估/开发板。基本功能所需的其他支持电路&#xff08;例如电源调节或天线…

HTML5和JS实现明媚月色效果

HTML5和JS实现明媚月色效果 先给出效果图&#xff1a; 源码如下&#xff1a; <!DOCTYPE html> <html> <head><title>明媚月光效果</title><style>body {margin: 0;overflow: hidden;background-color: #000; /* 添加一个深色背景以便看到…

SSM医院预约挂号系统【源码】【最详细运行文档】

SSM医院预约挂号系统【源码】【最详细运行文档】 系统简介系统涉及系统运行系统演示源码获取 系统简介 随着医疗水平的提高&#xff0c;以及人们对于健康的观念越来越重视&#xff0c;出入医院成了一种常见的现象。而随着看病人数增多&#xff0c;经常出现挂号难的现象。一部分…

ME8206 电流模式准谐振 PWM 控制器 输出功率可达100W

描述&#xff1a; ME8206 是一个电流模式准谐振 PWM 控制器&#xff0c;在 85V-265V 的宽电压范围内提供高达 100W 的输出功率&#xff0c; 在大范围的负载和输入电压变化情况下确保谷底电压导通。 ME8206 采用高压启动设计&#xff0c;芯片直接连接到高压&#xff0c; 以提供芯…

word技巧

word这个东西有的时候令人又爱又恨&#xff0c;很多用上的时候都是因为自己贫瘠的技巧而令人抓狂&#xff0c;比如设置一个页脚和页眉&#xff0c;首页如何不同&#xff1f;目录页如何设置罗马数字&#xff1f;页眉前面几页不要横线&#xff0c;后面几页要横线&#xff0c;谨以…

SQL注入是什么呢?

SQL注入是一种常见的攻击方式&#xff0c;攻击者通过在Web应用程序的输入字段中插入恶意的SQL代码&#xff0c;从而可以执行未经授权的数据库操作。这种攻击方式通常利用了应用程序对用户输入的不充分验证和过滤&#xff0c;使得攻击者能够通过输入恶意代码来绕过应用程序的安全…

【技术科普】什么是达芬奇架构?有什么优势?

芯片架构是指芯片设计的基本结构和组织方式&#xff0c;用于实现各种计算、存储和通信功能。芯片架构通常包括处理器核心、内存、输入输出接口等组成部分&#xff0c;这些部分的设计对芯片性能和功耗有着直接的影响&#xff0c;世界上主流的芯片架构主要包括x86、ARM、PowerPC和…

RAC 环境下spfile 下参数的修改,所有node或个别node

------ 和没有 SQL> create spfiledata from pfile/tmp/pfile; File created. SQL> exit Disconnected from Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production Version 19.20.0.0.0 [oraclerac1 ~]$ srvctl config database -d cdb Database …

【C语言】一种状态超时阻塞循环查询的办法

【C语言】一种状态超时阻塞循环查询的办法 文章目录 【C语言】一种状态超时阻塞循环查询的办法1.方法12.方法21.方法1 static void wait_notify_async(notify_type_t notify_type) {static rt_tick_t exit_tick;exit_tick = rt_time_get_msec();lb_int32 notify_success = RT_F…

vue-springboot基于java的社区志愿者活动信息管理系统 e2y4d

社区志愿者信息管理系统的主要开发目标如下&#xff1a; &#xff08;1&#xff09;对零碎化、分布散的数据信息进行收纳、整理&#xff0c;通过网络服务平台使这些信息内容更加调理&#xff0c;更加方便化和清晰化&#xff0c;让访问该系统的每个用户享受浏览的过程。 &#x…

5308. 公路

题意 有n 个站点&#xff0c;站点可以加油&#xff0c;站点之间的油的价格不一定相等&#xff0c;站点的编号从1到n&#xff0c;站点之间的距离用v表示&#xff0c;站点的油价用a表示&#xff0c;求从1站点到n站点所需要的最小的油价是多少 数据范围 对于所有测试数据保证&a…