wireshark打开数据包,文件->导出对象->HTTP,在最后面可以看到有两个br类型的文件:secret,test。
使用Brotli分别解压两个文件,test解压得到proto文件
syntax = "proto3";
message PBResponse {
int32 code = 1;
int64 flag_part_convert_to_hex_plz = 2;
message data {
string junk_data = 2;
string flag_part = 1;
}
repeated data dataList = 3;
int32 flag_part_plz_convert_to_hex = 4;
string flag_last_part = 5;
}
message PBRequest {
string cate_id = 1;
int32 page = 2;
int32 pageSize = 3;
}
使用protoc通过proto文件解密secret,
./protoc --decode PBResponse secret.proto < secret
得到PBResponse消息
code: 200
flag_part_convert_to_hex_plz: 15100450
dataList {
flag_part: "e2345"
junk_data: "7af2c"
}
dataList {
flag_part: "7889b0"
junk_data: "82bc0"
}
flag_part_plz_convert_to_hex: 16453958
flag_last_part: "d172a38dc"
将上面的flag_part_convert_to_hex_plz部分内容转为16进制,再与flag_part连接起来,得到最终的flag。什么寄吧东西,听都没听过