从零开始做题:BUUCTF数据包中的线索-wp

题目信息

从零开始做题:BUUCTF数据包中的线索-wp_第1张图片

从零开始做题:BUUCTF数据包中的线索-wp_第2张图片

解题工具

Wireshark:开源的强大的流量包分析工具。内置有一个强大过滤器,可以方便筛选各种数据。kali2023里面自带有。

解题过程

方法1

HTTP协议指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。请求和响应消息的头以ASCII形式给出;而消息内容则具有一个类似MIME的格式。HTTP协议运行在TCP之上。在wireshark中流量由HTTP流量与TCP流量两种构成。其中HTTP流量传输的是浏览器与服务器直接读取解析响应的HTTP协议文本内容,而TCP在主要传输每次访问、响应中的大体积的数据。

有212个包

从零开始做题:BUUCTF数据包中的线索-wp_第3张图片

直接过滤http包4个。从零开始做题:BUUCTF数据包中的线索-wp_第4张图片

追踪TCP数据流

从零开始做题:BUUCTF数据包中的线索-wp_第5张图片

拷贝相关内容出来base64解密

Base64解码 Base64编码 UTF8 GB2312 UTF16 GBK 二进制 十六进制 解密 - The X 在线工具

从零开始做题:BUUCTF数据包中的线索-wp_第6张图片

从零开始做题:BUUCTF数据包中的线索-wp_第7张图片

从零开始做题:BUUCTF数据包中的线索-wp_第8张图片

方法2

kali2023安装anaconda

anaconda、miniconda和canda的区别Anaconda是一个打包的集合,里面预装好了conda、某个版本的python、众多packages、科学计算工具等等,相当于一个全家桶,里面的packages齐全。

Miniconda,它只包含最基本的内容——python与conda,以及相关的必须依赖项,就只包含最基本的东西,其他的库得自己装。轻量化,需要什么包自己动手安装。

conda是一种通用包管理系统,旨在构建和管理任何语言和任何类型的软件。包管理与pip的使用类似,但是conda更强大,它结合了pip + virtualenv 的功能, 环境管理则允许用户方便地安装不同版本的python并可以快速切换。

首先Index of /anaconda/archive/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror将Anaconda3-2021.11-Linux-x86_64.sh 下载到kali2023的指定目录中。

从零开始做题:BUUCTF数据包中的线索-wp_第9张图片

从零开始做题:BUUCTF数据包中的线索-wp_第10张图片

 执行安装文件:

bash Anaconda3-2021.11-Linux-x86_64.sh
安装过程中需要确认安装位置,一般默认,回车,需要选择yes|no 的地方都选yes, 最后一步等待会久一点需要耐心等待一下。

    Output
   ...
installation finished.
Do you wish the installer to initialize Anaconda3
by running conda init? [yes|no]
[no] >>> 
这一步选择键入yes,自动将anaconda安装目录添加到PATH.

安装完成后,激活安装:

holyeyes㉿kali2023:~$ source ~/anaconda3/bin/activate

(base) ┌──(holyeyes㉿kali2023)-[~/Downloads]
└─$ 


查看conda清单

(base) kail0@kali:~$ conda list
# packages in environment at /home/kail0/anaconda3:
#
# Name                    Version                   Build  Channel
_anaconda_depends         2021.11                  py39_0  
_ipyw_jlab_nb_ext_conf    0.1.0            py39h06a4308_0  
_libgcc_mutex             0.1                        main  
_openmp_mutex             4.5                       1_gnu  
alabaster                 0.7.12             pyhd3eb1b0_0  
...

可以使用最新版本的Python3创建环境。我们将环境称为my_env 。

(base) kail0@kali:~$ conda create --name my_env python=3
Collecting package metadata (current_repodata.json): done
Solving environment: done
 
## Package Plan ##
 
  environment location: /home/kail0/anaconda3/envs/my_env
 
  added / updated specs:
    - python=3
...
激活新环境my_env

(base) kail0@kali:~$ conda activate my_env
(my_env) kail0@kali:~$ 
停用Anaconda环境时,键入以下命令:

(my_env) kail0@kali:~$ conda deactivate
(base) kail0@kali:~$
需要特定Python3.5版本的环境, 激活环境my_env35,查看python版本,以及升级python版本操作

(base) kail0@kali:~$ conda create -n my_env35 python=3.5
Collecting package metadata (current_repodata.json): done
Solving environment: failed with repodata from current_repodata.json, will retry with next repodata source.
...
(base) kail0@kali:~$ conda activate my_env35
(my_env35) kail0@kali:~$ python --version
Python 3.5.6 :: Anaconda, Inc.
(my_env35) kail0@kali:~$ conda update python
Collecting package metadata (current_repodata.json): done
...
(my_env35) kail0@kali:~$ python --version
Python 3.9.12
(my_env35) kail0@kali:~$ 
查看现有设置的环境, 星号*表示当前的活动环境。 :

(my_env35) kail0@kali:~$ conda info --envs
# conda environments:
#
base                     /home/kail0/anaconda3
my_env                   /home/kail0/anaconda3/envs/my_env
my_env35              *  /home/kail0/anaconda3/envs/my_env35
 
(my_env35) kail0@kali:~$ 
如果不再从事特定项目并且不再需要关联的环境,则可以将其删除。

# 需要先停用当前环境,再删除
(my_env35) kail0@kali:~$ conda deactivate
(base) kail0@kali:~$ conda remove --name my_env35 --all
 
Remove all packages in environment /home/kail0/anaconda3/envs/my_env35:
 
## Package Plan ##
...
更新 Anaconda

# 应该首先更新 conda 实用程序:
conda update conda
# conda 更新完成后,再更新Anaconda发行版:
conda update anaconda


kali安装jupyter

第一步

sudo apt-get update

第二步

sudo apt-get -y install jupyter

第三步

从零开始做题:BUUCTF数据包中的线索-wp_第11张图片

使用jupyter编程

 从零开始做题:BUUCTF数据包中的线索-wp_第12张图片

从零开始做题:BUUCTF数据包中的线索-wp_第13张图片

程序源码:

import base64

with open('1.txt','r') as f:
    with open('2','wb') as o:
        words = ''
        for i in f.readlines():
            words += i.strip()
            
        print(len(words))
        o.write(base64.b64decode(words)) 

其中1.txt的内容来自 追踪TCP数据流

从零开始做题:BUUCTF数据包中的线索-wp_第14张图片

从零开始做题:BUUCTF数据包中的线索-wp_第15张图片

从零开始做题:BUUCTF数据包中的线索-wp_第16张图片

从零开始做题:BUUCTF数据包中的线索-wp_第17张图片 从零开始做题:BUUCTF数据包中的线索-wp_第18张图片

你可能感兴趣的:(Misc,杂项,python,运维,服务器,网络安全)