元旦解题游戏第三题write up

admin 2024年1月13日14:55:07评论11 views字数 1089阅读3分37秒阅读模式

前言

    第三题根据提示可以知道是Google的一种数据交换格式,去查资料能知道是基于二进制传输的,所以效率高。

第三题write up

    首先需要对数据解码,既然是二进制的数据,在浏览器端应该是乱码的,现在访问是明文的,根据数据来看,就是做了16进制,转回去就好了。

    访问首页

0a05696e646578121868656c6c6f207468697320697320696e6465782070616765

    然后将十六进制转为字符串

元旦解题游戏第三题write up

    可以看出确实乱码了,但是字符串还是可以看的,这个信息提示这是首页,根据提示信息,返回什么格式,就传入什么格式,我们传入看看。

元旦解题游戏第三题write up

    返回信息已经变了,继续解开看看。

0a056572726f72122f66756e635f6e616d65206d6179626520697320666c61673f206d657373616765206d61796265206973206d7870793f

元旦解题游戏第三题write up

    返回信息说func_name和message的可能值是flag和mxpy。

    那么这时候有个问题,我们怎么编码出这个数据,这时候要去查资料了。

元旦解题游戏第三题write up

首先要制作一个文件

https://blog.csdn.net/qq_56044032/article/details/131358574

    然后用工具生成对应的类,这里我们写一个机构文件。

syntax = "proto3";message test {  string func_name = 1;  string message = 2;}

    然后生成

元旦解题游戏第三题write up

    得到test_pb2.py文件(这里用的python来解析),然后我们编辑得到我们需要的数据。

元旦解题游戏第三题write up

    得到数据如下

0a04666c616712046d787079

    然后我们传进去看看

元旦解题游戏第三题write up

    返回数据又变了

0a04666c616712266d7870797b35316631383236623937353734636339396633366431353836343034393665667d

    我们解开看看

元旦解题游戏第三题write up

    答案就出来了

    如果这样不好看,还可以用解析protobuf的工具:

    https://protobuf-decoder.netlify.app/

元旦解题游戏第三题write up

    至此,结束。(python调用protobuf的文件需要安装第三方库,请自行查阅,需要服务端源代码请访问原文公告页面下载,截止本文发布时应该没有,因为我还在睡觉,等我起来就更新公告了。)

原文始发于微信公众号(墨雪飘影):元旦解题游戏第三题write up

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年1月13日14:55:07
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   元旦解题游戏第三题write uphttps://cn-sec.com/archives/2389029.html

发表评论

匿名网友 填写信息