元旦解题游戏第三题write up
2024-1-14 09:33:26 Author: F12sec(查看原文) 阅读量:8 收藏

前言

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

第三题write up

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

    访问首页

0a05696e646578121868656c6c6f207468697320697320696e6465782070616765

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

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

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

0a056572726f72122f66756e635f6e616d65206d6179626520697320666c61673f206d657373616765206d61796265206973206d7870793f

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

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

首先要制作一个文件

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

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

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

    然后生成

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

    得到数据如下

0a04666c616712046d787079

    然后我们传进去看看

    返回数据又变了

0a04666c616712266d7870797b35316631383236623937353734636339396633366431353836343034393665667d

    我们解开看看

    答案就出来了

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

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

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


文章来源: http://mp.weixin.qq.com/s?__biz=Mzg5NjU3NzE3OQ==&mid=2247488803&idx=2&sn=936a3feee0d53509a2eafea890d97ea1&chksm=c1c93a3a0b94d29f54e14e9ebb496659e4bd5bd085a55cbcf18c8bef84116df1e445de4b933a&scene=0&xtrack=1#rd
如有侵权请联系:admin#unsafe.sh