首页 > 编程语言 >[HUBUCTF 2022 新生赛]ezPython

[HUBUCTF 2022 新生赛]ezPython

时间:2023-09-18 20:23:22浏览次数:58  
标签:tmp 编码 ezPython base64 bytes 2022 HUBUCTF password

附件链接:https://wwvc.lanzouj.com/iIqq218z5x0d
image.png
给了一个pyc文件
利用命令将pyc转换为py文件
uncompyle6 ezPython.pyc > ezPython.py
打开py文件

# uncompyle6 version 3.9.0
# Python bytecode version base 3.7.0 (3394)
# Decompiled from: Python 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)]
# Embedded file name: .\ezPython.py
# Compiled at: 2022-09-03 23:53:44
# Size of source mod 2**32: 444 bytes
from Crypto.Util.number import *
import base64, base58
password = open('password.txt', 'r').read()             
tmp = bytes_to_long(password.encode('utf-8'))              
ans = base64.b64encode(base58.b58encode(str(tmp))).decode() 
print("I've forgot my password,could you please help me find the password?")
if ans == 'M0hBajFITHVLcWV6R1BOcEM5MTR0R0J3eGZVODV6MTJjZUhGZFNHQw==':
    print('You get the password!')
else:
    print('Wrong! try again')
# okay decompiling ezPython.pyc


这段代码是Python中的字符串和编码转换操作。
首先,password是一个字符串,使用encode()方法将其转换为字节类型(bytes),采用UTF-8编码方式进行转换。接下来,tmp使用bytes_to_long函数将字节序列转换为一个长整型数值。
然后,tmp的值通过先使用Base58编码,再使用Base64编码的方式进行转换。base58.b58encode()和base64.b64encode()分别是对应的编码函数。
最后,使用decode()方法将编码后的结果转换为字符串类型。使加密后的值也就是ans等于M0hBajFITHVLcWV6R1BOcEM5MTR0R0J3eGZVODV6MTJjZUhGZFNHQw==
整个过程就是将密码转换为经过Base58编码和Base64编码的字符串,以ans变量保存结果。
解码过程:
先将ans进行base64解密,再进行base58解密
image.png

3HAj1HLuKqezGPNpC914tGBwxfU85z12ceHFdSGC

image.png

22385992650816784030032474165

再用python跑出bytes字节类型转换为长整型数值

from Crypto.Util.number import *
import base64, base58
password = '22385992650816784030032474165'
tmp = long_to_bytes(password.encode('utf-8'))
print(tmp)

# b'HUBUCTF@1405'

password为HUBUCTF@1405
image.png
根据题目描述,flag为md5(password),一般取md5加密都是32位小写
image.png
故flag:NSSCTF{fd78ee3399dd6a3c1d0b637fdca0c075}

标签:tmp,编码,ezPython,base64,bytes,2022,HUBUCTF,password
From: https://www.cnblogs.com/Zer0o/p/17712963.html

相关文章

  • 2022年07月 python界面可视化 VS2022配置PyQt5环境
    文章目录 一、VS2022配置PyQt5环境1.安装anaconda及opencv-python1.1安装对应的anaconda包1.2安装opencv-python2.安装PyQt53.安装PyQt常用工具4.配置系统环境变量5.配置VS2022中的外部工具6.第一个VS2022下的pyqt5程序一、VS2022配置PyQt5环境本机环境:......
  • [Writeup]2022 NewstarCTF_Week5(Web部分)
    一只网络安全菜鸟--(˙<>˙)/--写博客主要是想记录一下自己的学习过程,过两年毕业了也能回头看看自己都学了些啥东西。由于本人水平有限内容难免有错误、疏漏、逻辑不清、让人看不懂等各种问题,恳请大家批评指正如果我写的东西能对你有一点点帮助,那真是再好不过了。2023Newsta......
  • M1版本MacBook使用PD配置kali2022.1虚拟机
    经过了两天的努力终于成功了,在这里把过程记录一下。主机:M1芯片MACBOOK_PRO14寸软件:paralleldesktop18.1.1镜像:kali-linux-2022.1-installer-arm64前前后后安装了好几个版本,2021.4、2022.1、2022.2、2022.4、2023.1、2023.3,都是在安装pdtools的时候卡住,然后解决不了问题从......
  • Sketchup 2015、2016、2017、2018、2019、2020、2021、2022、2023(草图大师)下载
    SketchUp是一套直接面向设计方案创作过程的设计工具,其创作过程不仅能够充分表达设计师的思想而且完全满足与客户即时交流的需要,它使得设计师可以直接在电脑上进行十分直观的构思,是三维建筑设计方案创作的优秀工具。草图大师也就是SketchUp,是一个建筑景观专业的3D建模软件,由于运行......
  • 草图大师下载-草图大师2022官网版 各个版本下载
    sketchup草图大师是一款应用于建筑领域的全新三维建模软件。sketchup草图大师的功能是非常强大的,成为全球千万设计师选择的设计工具,模型很多质量很好。sketchup草图大师是必不可少的一款建模软件,有需要的朋友们不妨下载试试看。软件地址:看置顶贴sketchup草图大师安装步骤:1、在本站......
  • origin软件下载 origin2022最新中文版下载 各个版本下载
    Origin制图功能增强数据和管理导入功能大为增强;对原有的图形类型进行了重整,使之更加合理;数据处理方面,参数设置的功能大大增强,在各个方面可以细调;数据分析和处理:回归,拟合,统计,图象处理,信号处理,光谱处理等功能都比以前强大;软件地址:看置顶贴Origin8.0软件特色1.为了获得更高效的数......
  • ACL2022 paper1 CAKE: A Scalable Commonsense-Aware Framework for Multi-View Knowl
    CAKE:用于多视域知识图谱补全的可扩展常识感知框架ACL2022Abstract  知识图谱存储大规模事实三元组,然而不可避免的是图谱仍然具有不完整性。(问题)以往的只是图谱补全模型仅仅依赖于事实域数据进行实体之间缺失关系的预测,忽略了宝贵的常识知识。以往的知识图嵌入技术存在无效负......
  • 【专题】2022年中国跨境电商行业研究报告PDF合集分享(附原数据表)
    报告链接:http://tecdat.cn/?p=32044近年来,我国的跨境电子商务发展迅速,在过去五年中,其贸易额增长率达到了16.2%,已经成为稳定对外贸易的一支重要力量。阅读原文,获取专题报告合集全文,解锁文末52份跨境电商行业相关报告。一方面,随着跨境电子商务的发展,跨境电子商务的监管政策得到了......
  • 2022 International Collegiate Programming Contest, Jinan Site MKAEDGC
    2022InternationalCollegiateProgrammingContest,JinanSite目录2022InternationalCollegiateProgrammingContest,JinanSiteVP概况M-BestCarryPlayerK-StackSortA-TowerE-IdenticalParityD-FrozenScoreboardG-QuickSortC-DFSOrder2VP概况没......
  • 【DSP视频教程】DSP视频教程第12期:TI开源分享IQmath DSP源码,适用于所有Cortex-M内核,本
     今年TI推出MSPM0系列产品配套的SDK软件包里面将此库开源了,之前的时候也移植过IQmatb,不过只有库版本,这次竟然开源了,确实是不可多得的好资源。这个是定点库,非常适合用于M0,  M0+,  M3和不带硬件FPU的M4内核上,当然,用在M4F,M7,M33等器件上也是没问题的。本次视频配套的例子将ARMDS......