巅峰极客 2023 g0re

这篇具有很好参考价值的文章主要介绍了巅峰极客 2023 g0re。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

解题过程

打开软件是加壳的,使用010打开,可以看到是魔改的upx,将关键词改成UPX ,然后脱壳成功,使用IDA打开,可以看到是没有符号的,分析起来比较难顶,使用go_parser还原符号后打开main_main,

先运行一下查看有没有什么提示

有个wrong,字符串搜索定位过去,然后查看交叉引用,

可以看到在main 里面对应这两个地方,应该是要走到下面的success 才是正确的flag,然后从上面进行分析,有两个main_sub的函数,第一个

有个aes,直接猜是AES加密,第二个函数

这里很多3字节编码的操作,看起来像base64,后面引用了一个外部的字符串off_53D370,应该就是编码表,这个不是标准的编码表是变表

再往后面就是一个数组的比较了,这里函数的参数识别有问题,按Y修改下,查了下这个panicIndex函数好像是处理数组越界的,没有实际的含义。

逻辑清楚很多了,这里可以再修正下数组的定义,这里是对编码后的base64字符串进行操作

然后就是最后的判断了,这里比较的是编码后的字符串和encodearray,没有其他的操作了

所以还原思路,首先对encodearray 还原成base64,然后变表base64 解码,最后aes解密,aes密钥动调获取的和flag的输入数据放一块,正好16位文章来源地址https://www.toymoban.com/news/detail-631375.html

import struct
from Crypto.Cipher import AES
from Crypto.Util.Padding import unpad
import base64


def decode_custom_base64(data, custom_table):
    # 标准Base64编码表
    standard_table = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"

    # 使用自定义表将加密数据映射回到标准的Base64编码
    trans = str.maketrans(custom_table, standard_table)
    decoded_data = base64.b64decode(data.translate(trans))

    return decoded_data



custom_table = "456789}#IJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123ABCDEFGH"

encodearray = [
    0xC9F5C5CFC889CEE6,
    0xCCAC7FCE91C0D9D2,
    0x92EAD496C0B7CFE9,
    0x93AEA5CB84DFD7E2,
    0xC9F0CEDF97BECAA6,
    0xDB65B1C46BAEE1B7,
    0xC3ED8CD69392EDCE,
    0xA7B5B2AAA594DAA3
]

result = []
key=b'wvgitbygwbk2b46d'
for num in encodearray:
    bytes_ = struct.pack('<Q', num)
    for b in bytes_:
        result.append(b)

# print(result)
base=''
for i in range(len(result)):
    base+=chr((result[i]-key[i%16])^0x1A)
print(base)


decoded_data = decode_custom_base64(base, custom_table)
print(decoded_data)


aes = AES.new(b"wvgitbygwbk2b46d",mode=AES.MODE_ECB)
print(aes.decrypt(decoded_data))

到了这里,关于巅峰极客 2023 g0re的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 2023国赛数学建模A题第二问解题思路 - 定日镜场的优化设计(详细过程,小白读完就会)

    2.1.1基础布局 在塔式太阳能热发电领域,由 Laurence等人提出的辐射网格布局是一种应用较广泛的排布方式。此布局方式是将定日镜沿等方位线交替放置在各恒定半径处,且随着径向距离的增加,镜场排布也呈现出由密到疏的趋势。为定量表示定日镜与吸热塔的位置关系,还引

    2024年02月09日
    浏览(51)
  • 2023国赛数学建模A题第一问解题思路 - 定日镜场的优化设计(详细过程,小白读完就会)

    补充知识点: 定日镜是反射聚焦太阳辐射的单元,聚光子系统由成千上万面的定日镜组成,聚光子系统的投资成本约占了电站总投资成本的 50%[39]。由于太阳光线的发散性和太阳位置的变化,入射的太阳光线并不能完全被定日镜反射聚焦到吸热器上,系统存在的能量损失约为

    2024年02月09日
    浏览(41)
  • [网络安全/CTF] BUUCTF极客大挑战2019PHP解题详析(Dirsearch使用实例+php反序列化)

    提示:有一个良好的备份网站的习惯 故使用dirsearch工具扫描目录 得到的扫描结果中包含www.zip目录 通过url路径下载zip文件: index.php中含有关键代码: Get传参传入一个参数select,后端将其序列化 class.php: construct 是构造函数,在对象被创建的时候自动调用,进行类的初始化,

    2024年02月05日
    浏览(78)
  • 中国顶级CTF竞赛网络安全大赛--2022网鼎杯re2解题思路

    PEID查不出来,用了die,显示是UPX3.96的壳,用了脱壳机,脱不了,只能手动脱壳,拖入x64dbg,F9运行到程序领空,很明显的特征,push: 无脑使用ESP定律大法,对ESP下硬件访问断点: F9运行,在pop处停下: F4运行到下面第一个jmp,F8,进去又是一个jmp,继续F8,到达OEP: 使用x

    2023年04月22日
    浏览(46)
  • 基于多目标混合策略鲸鱼优化算法的镜场布局优化-2023国赛数学建模A题第三问解题思路 - 定日镜场的优化设计(详细过程,小白读完就会)

    选择对 EB布局进行更深入的研究,主要探究其布局关键参数方位间距因子 Asf和极限重置因子 Arlim如何取值可以得到光学性能更好的定日镜场。故选择应用改进后的混合策略鲸鱼优化算法对 EB布局进行优化,同时结合实例 Gemasolar电站相关数据进行验证分析。 5.1.1优化目标与工

    2024年02月09日
    浏览(43)
  • [第五空间 2021]pklovecloud 解题思路&过程

    打开题目,一道关于php反序列化的的代码审计问题。源码如下: 可以看到,通过ace-echo_name()函数,可以调用到file_get_contents来读文件;acp-__toString()魔术方法中有通过其cinder属性对echo_name()的调用,且__construct()会创建cinder为一个对象; 于是初步构造payload: 还不够,目前只是构

    2024年02月14日
    浏览(41)
  • 史上最全的CTFHUB弱口令+默认口令解题过程

    ctfhub 读万卷书,行万里路。 大家好,今天由我来给大家讲解ctfhub中的一道关于弱口令的经典例题。 1 .首先,我们可以在ctfhub里开启一个环境,并点开链接------   2 .然后在火狐或者burpsuite自带浏览器ip地址栏中粘贴登录界面url 3 .打开burp并且打开代理拦截 4 .然后我们将拦截后

    2024年02月14日
    浏览(53)
  • [NSSRound#13 Basic]flask?jwt?解题思路&过程

    打开题目链接,是一个登录框,不加验证码,且在注册用户名admin时提示该用户名已被注册,因此爆破也是一种思路。不过根据题目名字中的提示,jwt,且拥有注册入口,注册一个用户先。 注册完用户,通过getFlag按钮,得到提示不是admin用户,在忘记密码的页面,找到flask的

    2024年02月13日
    浏览(53)
  • 微机原理 || 8253接口芯片知识点+4道经典例题+手写解题过程

      【例1】 :  设825 3 端口地址为3 00H~303H, 要求计数器2工作在方式5,二进制计数, CLK2=2MHz , OUT2=1KHz。 试按上述要求完成825 3 的 初始化 。   【例2】: 选择计数器 0 工作于方式 3 ,计数初值为 1234 ,十进制计数方式;计数器 2 工作于方式 2 ,计数初值为 61H ,采用二进制

    2024年02月10日
    浏览(54)
  • 网络安全管理员_三级_操作技能考核解题过程(1)

    1. 工作任务 对路由器 RT 与交换机 SW 进行安全加固,逻辑拓扑图如下图如示: 具体要求如下: 在 GNS3 中打开项目 1.1.1; 开启 Switch 上的 SSH 服务以加密登录通信,创建用户 Inspc 密码为 P@ssw0rd,用户登录后,可以完全管理交换机; 配置 Switch acl 策略 , 实 现 仅 允许 Linux-B 192

    2024年02月03日
    浏览(52)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包