从 FON 身份验证门户获取 WISPr 标签

从 FON 身份验证门户获取 WISPr 标签

我正在对 wifi 强制门户开发进行一些调查。

我想捕捉无线SPrXML 标签来自福恩身份验证强制门户(我的邻居有该活动,我也有一个漫游帐户)。

尝试在 iPhone 甚至 Mac 中进行身份验证并不能解决问题,因为设备会检测强制门户/WIPr 标签,并在没有任何控件的情况下打开专用窗口/迷你浏览器;尝试在 Linux/*BSD 上打开页面可能无法工作,因为浏览器用户代理/或行为不会被识别为 iPhone/Apple。

嗅探 iPhone 交易也并不能解决问题,因为强制门户的 Web 登录页面是通过 https/TLS 处理的(例如,它在线路上进行了加密)。

我也在sysdigLinux 中尝试过,显然再次遇到了加密传输的问题。

wget也没有得到令人满意的结果。

该怎么办?

答案1

我最终lynx在 FreeBSD 系统中使用;最初使用的-dump选项允许查看重定向,但只能看到输出而不是内容;然后发现了该-source选项,该选项显示源/HTML 并且不尝试渲染它。

我还使用该选项-useragent假装我是一部进行 WISPr 发现的 iPhone,并且还尝试获取 iPhone 试图发现的页面之一如果它正在处理一个强制门户(http://www.apple.com/library/test/sucess.html)。

我还必须处理 FON 强制门户是自签名的(?)这一事实,或者我的 FreeBSD 不知道底层的 SSL 根证书。 (我并没有浪费太多时间来追踪这一点);我只需将 lynx 配置为接受自签名证书(稍后会写问题并在此处提供链接)。

所以我使用的实际命令是:

lynx -useragent=CaptiveNetworkSupport -dump http://www.apple.com/library/test/sucess.html

然而,虽然第一个很有用,但让我更感兴趣的是:

lynx -useragent=CaptiveNetworkSupport -source http://www.apple.com/library/test/sucess.html

使用后一个命令行,我可以通过嵌入的 WISPr 标签恢复 HTML 源代码。

man lynx

  -dump  dumps  the  formatted  output  of  the default document or those
          specified on  the  command  line  to  standard  output.   Unlike
          interactive mode, all documents are processed.  This can be used
          in the following way:

          lynx -dump http://www.subir.com/lynx.html

          Files specified on the command line are  formatted  as  HTML  if
          their  names  end  with one of the standard web suffixes such as
          ".htm" or ".html".  Use the -force_html option to  format  files
          whose names do not follow this convention.

  -source
          works  the  same  as  dump  but  outputs  HTML source instead of
          formatted text.  For example

          lynx -source . >foo.html

          generates  HTML  source  listing  the  files  in   the   current
          directory.   Each  file  is  marked  by  an HREF relative to the
          parent directory.  Add a  trailing  slash  to  make  the  HREF's
          relative to the current directory:

          lynx -source ./ >foo.html

取自捕获的登录页面:

<!-- WISPr message -->^M
<span class="displayNone"><!--<?xml version="1.0" encoding="UTF-8"?>^M
<WISPAccessGatewayParam xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://www.acmewisp.com/WISPAccessGatewayParam.xsd">^M
<Redirect>^M
<AccessProcedure>1.0</AccessProcedure>^M
<LoginURL>https://xxxx/captive/noswifi?hmac=xxxx&amp;res=notyet&amp;uamip=xxxx&amp;uamport=80&amp;userurl=&amp;challenge=xxxxxxe&amp;nasid=BC-14-01-XX-XX-XX&amp;mac=00-15-AF-XX-XX-XX</LoginURL>^M
<AbortLoginURL>http://xxxx:80/captive/logoff</AbortLoginURL>^M
<MessageType>100</MessageType>^M
<ResponseCode>0</ResponseCode>^M
<AccessLocation>FonZON:PT</AccessLocation>^M
</Redirect>^M
</WISPAccessGatewayParam>-->^M
</span>

相关内容