Ax Introduction
我本人很喜欢Google Chrome,因为Google Chrome压榨了我的大部分内存,看起来性能就很强的样子,嘿嘿。
其实是用习惯了,然后书签都在Chrome,各种插件也都齐全,所以也不想[2]迁移至Firefox,虽然我知道Firefox的安全性要好一点,但是现在并不影响我现在使用他们其中任意一个,因为我两个都要。
一个用来平时工作,适用于任何场景,而Firefox用于安全测试,抓包,就解决了一个浏览器代理切来切去的繁琐问题。
当时,每当抓包时,总会有一切不明不白的流量从我眼皮子底下溜过,我每次都觉得没啥,这不是Firefox的域名吗,是浏览器的问题,我在想,浏览器作为载体,是HTTP的运输车,当然最本质是TCP和UDP,但你可以想象一下,HTTP的User-Agent是带有设备标识的,就比如:
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/110.0
可以这样理解,TCP和UDP就是火车或汽车等交通工具,而浏览器就是车子的牌子,比如以上这个就是Firefox的牌子的车子,如同我们街上看到的到处都是车子,有些车子有明显标识的,因为车子是统称,所以我们一遍会这样说,有一辆货拉拉,快看,是宝马,这是桑塔纳,飞机是东航的,火箭是特斯拉的,等等等等。。
那么,Firefox作为载体,凭什么发送流量。本着好奇,我开始了最我们平时认为最正常不过,而又最没用的数据包进行分析,防止干扰我们的安全测试任务。
Comment: Auto Dropped by Knife
来看数据包:
GET /canonical.html HTTP/1.1
Host: detectportal.firefox.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/110.0
Accept: */*
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Cache-Control: no-cache
Pragma: no-cache
Connection: close
例证
返回包
经过查询得知,这是一个心跳包,使其浏览器会话保持活跃。
wiki:强制门户主要用于开放式无线网络,向用户显示欢迎消息,告知他们访问条件(允许的端口、责任等)。管理员倾向于这样做,以便他们自己的用户对他们的行为负责并避免任何法律责任。这种责任委托是否具有法律效力是一个有争议的问题。
强制门户通常用于营销和商业交流目的。在用户通过在网络浏览器中填写基于网络的注册表来交换个人数据之前,禁止通过开放的 Wi-Fi 访问互联网。基于 Web 的表单会自动在 Web 浏览器中打开,或者在用户打开 Web 浏览器并尝试访问任何网页时出现。换句话说,用户是“俘虏”的——在用户被授权访问互联网并“完成”俘虏门户之前,无法自由访问互联网。这允许此服务的提供商向连接到 Wi-Fi 接入点的用户显示或发送广告。这种类型的服务有时也被称为“社交 Wi-Fi”,因为他们可能会要求社交网络帐户登录(如Facebook)。在过去几年中,此类社交 Wi-Fi 强制门户已变得司空见惯,许多公司提供以 Wi-Fi 数据收集为中心的营销。
用户可以在强制门户中找到多种类型的内容,并且经常允许访问互联网以换取查看内容或执行特定操作(通常是提供个人数据以实现商业联系);因此,专属门户的营销用途是产生潜在客户(业务联系人或潜在客户)的工具。
可以理解到,我们向肯德基那种免费的wifi需要认证,所以会弹出浏览器进行认证,而在认证成功之前,http一直保持活跃,所以有人利用这个打广告的行为。
另外,也有很多方法可以实现强制门户。
- HTTP重定向
- ICMP重定向
- DNS重定向
为了通过 DNS 执行重定向,强制门户使用DNS 劫持来执行类似于中间人攻击的操作。为了限制 DNS 中毒的影响,通常使用TTL 0。
需要使用浏览器访问
强制门户通常需要使用网络浏览器;首次使用电子邮件客户端或其他依赖互联网的应用程序的用户可能会在没有解释的情况下发现连接无法正常工作,然后需要打开网络浏览器进行验证。对于未在其操作系统上安装任何 Web 浏览器的用户来说,这可能会有问题。然而,有时可以使用不依赖 DNS 的电子邮件和其他设施(例如,如果应用程序指定连接 IP 地址而不是主机名)。如果客户端使用AJAX或使用已加载到其 Web 浏览器的页面加入网络,则会出现类似的问题,从而导致未定义的行为(例如,出现损坏的消息)当此类页面尝试向其源服务器发出 HTTP 请求时。
同样,由于无法重定向 HTTPS 连接(至少不能不触发security警告),一个只在被强制门户授权之前尝试访问安全网站的网络浏览器将看到这些尝试失败而没有解释(通常的症状是预期的网站似乎已关闭或无法访问)。
具有Wi-Fi和TCP/IP 堆栈但没有支持具有Wi-Fi和TCP/IP 堆栈但没有支持HTTPS 的Web 浏览器的平台无法使用许多强制门户。此类平台包括运行使用任天堂 Wi-Fi 连接的游戏的任天堂 DS。可以使用WISPr进行非浏览器身份验证,这是一种用于此目的的基于XML的身份验证协议,或者基于 MAC 的身份验证或基于其他协议的身份验证。
平台供应商还可以与大量强制门户热点的运营商签订服务合同,允许通过热点的围墙花园免费或打折访问平台供应商的服务器。例如,2005 年任天堂和Wayport合作,在某些麦当劳餐厅为任天堂 DS 用户提供免费 Wi-Fi 接入。[9]此外,可以允许VoIP SIP端口绕过网关以允许电话工作。
解决方法
(1) 在新选项卡中,在地址栏中键入或粘贴about:config ,然后按 Enter/Return。单击承诺要小心的按钮。
(2) 在列表上方的搜索框中,键入或粘贴captiv并在过滤列表时暂停
(3) 双击network.captive-portal-service.enabled首选项,将值从 true 切换为 false
Firefox Sync
Firefox Sync,原名为Mozilla Weave,衍生自2007年Mozilla Labs所推出的实验性专案,它是一个浏览器同步功能,允许使用者在多台电脑上同步书签、历史纪录、密码、表单资料、附加元件,以安全加密的方式存放在Mozilla伺服器或个人伺服器上
*.sync.services.mozilla.com
解决方法,使用burp proxy optinos[Intercepting HTTP requests and responses]过滤该流量
正则语法(以后见一个过滤一个就行,直接过滤二级域名你就再也不拦截mozilla的firefox了)
(webextensions\.settings\.services\.mozilla\.com|services\.addons\.mozilla\.org|webextensions\.settings\.services\.mozilla\.cn)
(webextensions\.settings\.services\.firefox\.com|services\.addons\.firefox\.org|webextensions\.settings\.services\.firefox\.cn)
(mozilla.com$|mozilla.org$|firefox.com$|firefoxchina.cn$)
使用Scope方式
我感觉使用过滤的方式有点烦,过滤一个又怎么样,又会出现一些奇奇怪怪的东西,不如直接使用白名单的方法。
在Target的目标中选中测试目标,然后右键add到scope中。
Proxy http过滤选择第一个,仅show我们scope的范围。这样真的舒服啊。
References
[1] https://en.wikipedia.org/wiki/Captive_portal
[2] 感谢朋友的错别字修正