20199114 2020/3/26 《网络攻防实践》课上实践

20199114 2020/3/26 《网络攻防实践》课上实践

实践任务:

一、每个人找一个抓包软件,分析其功能,设计的模块等,着重使用和分析,不建议用wireshark,编译过程可能比较难,也可挑战

二、自己在网上找开源的代码获取账号密码

三、第三个还是加分项不变


实践报告:

1. Fiddler

1.1 Instruction

我首先下载了Fiddler,Fiddler是一个Http协议调试代理工具,它能够记录并检查所有自己电脑和互联网之间的Http通讯,设置断点,查看所有的“进出”Fiddler的数据。Fiddler要比其他的网络调试器要更简单,因为它不仅仅暴露Http通讯,还提供了一个友好的格式。Fiddler是个蛮好用的抓包工具,可以将网络传输发送与接受的数据包进行截获、重发、编辑、转存等操作,也可以用来检测网络安全。

由于Fiddler的下载需要去墙外,所以我就直接找的网盘资源下载了。

1.2 原理

Fiddler是通过改写HTTP代理,使传输的数据从它通过,来监控并获取数据。在打开Fiddler的那一刻,它就会自动设置好浏览器的代理。在关闭它的时候,它会自动把代理还原。

1.3 使用说明

Fiddler想要抓取数据包,首先要开启Capture Traffic,可以点击菜单栏 - File - Capture Traffic查看是否开启。或者看窗口左下角的标志,可以直接点击此标志来开启或关闭抓包功能。

当Fiddler开始工作后,抓取到的数据包会直接显示在列表里,下面对窗口中的一些字段和标志进行解释:

名称 含义
# 抓取HTTP Request的顺序,从1开始,往下递增
Result HTTP响应的状态码
Protocol 请求使用的协议(如 http/https/ftp)
Host 请求地址的域名
Body 请求的大小,单位是BYTE
Caching 请求的缓存过期时间或缓存控制值
Content-Type 请求响应的类型
Process 发送此请求的进程:进程ID
Comments 允许用户为此会话添加备注
Custom 允许用户设置自定义值
图标 含义
请求已发往服务器
已从服务器下载响应结果
请求从断点处暂停
响应从断点处暂停
请求使用HTTP的HEAD方法,即相应没有内容(BODY)
请求使用HTTP的POST方法
请求使用HTTP的CONNECT方法,使用HTTPS协议建立连接隧道
响应是HTML格式
响应是一张图片
响应是脚本格式
响应是CSS格式
响应是XML格式
响应是JSON格式
响应是一个音频文件
响应是一个视频文件
响应是一个SilverLight
响应是一个FLASH
响应是一个字体
普通响应成功
响应是HTTP/300、301、302、303或307重定向
响应是HTTP/304(无变更):使用缓存文件
响应需要客户端证书验证
服务端错误
会话被客户端、Fiddler或者服务端终止

左边窗口的解释完了,以下为右侧窗口各个标签的解释。

  • Statistics 请求的性能数据分析

    随便点击左侧的一个请求,就可以看到Statistics关于HTTP请求的性能以及数据分析

  • Inspectors 查看数据内容

​ Inspectors是用于查看会话的内容,上半部分是请求的内容,下半部分是响应的内容

							<img src="https://img2020.cnblogs.com/blog/1930271/202003/1930271-20200328162006573-1035343717.png" style="zoom: 50%;" />
  • AutoResponder 允许拦截指定规则的请求

    AutoResponder允许你拦截指定规则的请求,并返回本地资源或Fiddler资源,从而代替服务器响应。

    如下图所示,我将“http://www.baidu.com”与我电脑中的一张图片绑定,点击Save保存,勾选Enable rules

​ 当我再访问百度时,就会变成我电脑中的图片

当然这个规则也适用于其他一些网址,还有其他的一些匹配规则,比如正则表达式匹配,但是我没有测试。

  • Composer 自定义请求发送服务器

    Composer允许自定义请求发送到服务器,可以手动创建一个新的请求,也可以在会话表中,拖拽一个现有的请求

  • Filters 请求过滤规则

    Fiters 是过滤请求用的,左边的窗口不断的更新,当你想看你系统的请求的时候,你刷新一下浏览器,一大片不知道哪来请求,看着碍眼,它还一直刷新你的屏幕。这个时候通过过滤规则来过滤掉那些不想看到的请求

    勾选左上角的User Filters开启过滤器,这里有两个常用的过滤条件:ZoneHost

    • Zone 指定只显示内网(Intranet)互联网(Internet)的内容

    • Host 指定显示某个域名下的会话

​ 如果框框为黄色,表示修改未生效,点击红圈里的文字即可

  • Timeline 请求响应时间

    在左侧会话窗口点击一个或多个(同时按下 Ctrl 键),Timeline 便会显示指定内容从服务端传输到客户端的时间

补充:刚打开软件时,点击某一请求,会发现请求内容是一堆明显不对的文字,然后该请求左边是一个锁的样式,右边返回的内容是“这是一个CONNECT隧道,加密的HTTPS流量通过该隧道移动”,这是因为HTTPS加密的原因。那么我们点击菜单栏 - Tools - Options -HTTPS - Decrypt HTTPS traffic option,随后安装证书就显示正常了。

2. Smartsniff

2.1 Introduction

因为Fiddler只能抓取http/https/ftp包,所以我又下载了一个非常简单的抓包工具Smartsniff

SmartSniff 可以让捕获你的网络适配器的 TCP/IP 数据包,并且可以让 你按顺序地查看客户端与服务器之间会话的数据。你可以使用 ASCII 模式 (用于基于文本的协议,例如 HTTP、SMTP、POP3 与 FTP。)、十六进制模式来查看 TCP/IP 会话 (用于基于非文本的协议,例如 DNS)。支持IP过滤设置,可以不显示自己的和你认为不需要显示出来的IP。初次运行时需要指定网卡。基本不需要改写系统注册表。

2.2 使用说明

开始使用Smartsniff真的很简单,只需复制可执行文件smsniff.exe,以任何文件夹运行就可以,不需要安装。

Smartsniff运行后,从File菜单中选择“开始捕获”,或者按一下工具栏上的绿色按钮就可以了。

使用本机cmd,使用telnet进入复旦的BBS日月光华,即在cmd中输入 telnet bbs.fudan.edu.cn 就可以了,之后输入上节课注册好的用户名huanshi,密码mima1234,登陆进去。之后在Smartsniff中查看抓取包的信息。

在下方蓝色字体,可以看到自己的用户名和密码。

这个软件基本就是这么使用,菜单栏中的选项内容都是一些辅助选项,简单易懂,所以不加介绍。

二、

这里我在测试Fiddler时,就尝试在网页登录日月光华,并抓包,测试结果如下。

可以看到红框中抓到的信息:user_name为huanshi,session_key为一串密文,可以看出用户名为明文传输,而密码则是密文传输,这样更加安全。

三、加分项

Fiddler虽然只能抓到HTTP/HTTPS/FTP包,但是它可以抓取手机的数据包,我的手机是安卓系统(华为 P30p),所以下面我要介绍一下,如何用Fiddler抓取我手机的数据包。

具体操作如下:

点击 菜单栏 - Tools - Telerik Fiddler Options

HTTPS - 勾选Decrypt HTTPS traffic

45

Connections - 勾选Allow remote computers to connect 并记住端口 8080

这时在 Fiddler 白框位置可以看到自己本机无线网卡的IP了(要是没有的话,重启Fiddler,或者可以在cmd中ipconfig找到自己的网卡IP)

打开电脑的热点,在手机上找到电脑的热点,长按出现修改网络,勾选高级选项,在服务器主机名输入自己电脑的IP地址,在服务器端口输入刚才的端口号。

这里没截图,因为截图的时候显示“为了保护隐私,不能截图”这个意思的提示。

注意只有Fiddler开启的时候,手机才能上网,不然应该是不能上网的。

接着,在浏览器输入http://[主机IP地址]:[端口号]

点击最后一行的 FiddlerRoot certificate 下载证书。

下载完毕后,在设置 - 安全 - 更多安全设置 - 加密和凭据 - 从存储设备安装 - 找到下载的证书进行安装

随后,我在手机用百度搜索图片,在Fiddler上可以抓到图片资源:

然后,我用手机网页登录自己的163邮箱:bjdkywyh@163.com 输入密码进行登录

在Fiddler抓到以下数据:

在红框中可以看到 uid:‘bjdkywyh@163.com’ 和我的 sid,至于密码我还没找到,但是我已经尽力了。

posted @ 2020-03-29 17:52  王昱皓  阅读(147)  评论(0编辑  收藏  举报