遇到的问题
- 加密次数cnt不知道是多少
- 观察源码和官方wp发现有用信息的流量包编号为60,加上随机编码之前进行了一次单独编码(和后面产生的密文类型吻合),所以实际进行了61次编码
- 写出的脚本不出结果 ,只是将输入的密文再次输出,使用官方wp也一样
- 查资料发现b64decode()函数是将base64加密的数据转为二进制流,而每次解密使用的数据应为为字符串形式,所以需要将每次解码后的数据转为字符串格式,即b64decode().decode('utf-8')
- 出现报错提示string中找不到maketrans和translate模块
- python3中该模块的使用是 str.maketrans 和 str.translate
- 在下面脚本中也注释了一下改动的位置以及注意的点,和上述问题差不多
解题思路
先下载对应的附件,解压后得到了一个xxx.pcap文件,肯定是流量分析的问题

使用wireshark工具打开文件,发现了一堆tcp和http协议的流量,在过滤条件出输入http.request.method=POST 发现没有任何POST请求的数据包,看来没这么简单呀(这里就不截图了,毕竟没什么有用的信息)

大致看了一下数据很多,大部分时tcp流,好像没什么显眼的东西,在过滤栏输入
tcp contains "flag" 看一下是否有数据包中含有flag关键字,还真发现了一个,这里注意一下该流量的编号是60,没想到这也是关键信息

通过下面的文本显示发现了其中包含一段python的代码信息,尝试对该流量进行追踪,右键选择追踪流-->tcp流

进入到该界面发现了一段完整的python加密代码,通过分析发现这是flag的加密过程,结尾是一段flag加密后的数据

接下来把该程序单独拿出来分析一下:(代码的分析都放在注释里面了)
接下来说一下解密的思路:
- 一次加密后的密文包括两部分:第一位是加密方式的底标+1,后面是加密后的密文
- 所以需要先对第一位进行提取,然后确定加密的方式
- 然后对之后的密文进行对应的解密就行了
那个cnt,也就是加密的次数是不知道的,看了官方的wp发现直接给出了cnt=61,结合前面的分析,原始程序中的cnt应该就是流量包所在的编号60,然后加上刚开始的单独加密刚好是61
下面编写解密的脚本(我这里是直接在给出的加密脚本上改的,只需要编写一下解密函数并把密文加进去即可):
通过运行脚本成功输出了flag

ps:这一个题做了一下午,这也是没谁了,搜到的脚本一大堆就是运行不出结果,好在坚持就是胜利,终于给我发现了问题所在,python版本的问题不提示,不报错,这是真的烦,还得多练啊
10
到此这篇pcap文件格式怎么看(pcapng文件怎么解析读取)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/haskellbc/51307.html