背景
由于工作需要,最近一直接触c/s架构的安全性测试,作为初入职场的小白,在这里给大家分享一下关于c/s架构渗透测试的抓包心得,哪里有缺漏妄各位大佬们指正。
什么是C/S架构?
C/S(Client-Server),即服务器/客户机结构。C/S结构通常采取两层结构。
客户机负责完成与用户的交互任务,通过局域网与服务器相连,接受用户的请求,并通过网络向服务器提出请求,对数据库进行操作。
服务器则负责数据的管理,接受客户机的请求,将数据提交给客户机,客户机将数据进行计算并将结果呈现给用户。客户机负责完成与用户的交互任务,通过局域网与服务器相连,接受用户的请求,并通过网络向服务器提出请求,对数据库进行操作。
C/S结构是一种软件系统体系结构,也是生活中很常见的。比如我们手机或电脑中安装的微信、QQ、腾讯视频、酷狗音乐等应用程序就是C/S结构。
好,概念介绍到这里,下面开始我们的正题——C/S测试之抓包姿势。
C/S架构测试之抓包技巧
在项目测试过程中,最初遇到C/S客户端抓包失败的情况,导致测试无法正常进行,后来才知道其相关原因。
原因分析:
1、b/s使用的协议如:http、https ; c/s使用的协议如:TCP、HTTP(S)、TDS等。
2、像B/S测试常用的web抓包代理工具:burpsuite、fiddler等,大多支持http协议、https协议。对于其他协议不好抓取。
3、大多数C/S架构客户端没有代理配置功能,而导致代理工具无法生效。
抓包方法
情况一 :客户端走的是http协议或https协议,但无代理功能。
可以使用burpsuite或fiddler代理工具结合proxifer实现对客户端的数据抓包。
proxifier是一款功能非常强大的socks5客户端,可以让不支持通过代理服务器工作的网络程序能通过HTTPS或SOCKS代理或代理链。
以下以burpsuite+proxifier抓包,进行说明:
**第一步:**打开burpsuite,并对burpsuite进行配置。
正常的话,porxy模块下,拦截功能是默认打开的。o地址也是默认127.0.0.1:8080启用的。
options子模块,配置的代理地址也是默认127.0.0.1:8080启用的。
**第二步:**打开proxifier
对porxifier先进行代理服务器配置:打开配置文件模块-代理服务器,添加代理服务器
配置好后,可点击检查按钮,验证是否与burpsuite连接成功。
对proxifier进行代理规则配置:打开配置文件模块-代理规则,添加新规则,应用程序填写需要代理的客户端的文件名,这里以微信客户端为例,如:WeChat.exe。目标主机、目标端口默认,动作选择新加入的代理地址:127.0.0.1,配置好后点击确认。
打开微信,随机打开页面,burp成功拦截请求。
情况二:客户端走的是非http(s)协议,并无代理配置功能
这里推荐使用wireshark,wireshark是非常流行的网络封包分析软件,功能十分强大。可以截取各种网络封包,显示网络封包的详细信息。包括 HTTP、TCP、UDP 等网络协议包。
在这里可通过在过滤器中输入过滤规则,实现快速定位想要查询的数据流量。
数据分析:可在封包列表中选定其中想要分析的封包数据,在封包详细信息中或右击数据选择追踪流,查看其请求响应信息。
情况三:若是tcp流量
推荐使用Echo Mirage工具,其工具专门拦截tcp流量。
单击rules查看规则,默认有了两条规则,可以用来拦截所有的出入流量
来源:freebuf.com 2021-02-08 12:17:59 by: 随梦brat
请登录后发表评论
注册