Saya sedang melakukan investigasi seputar pengembangan portal captive wifi.
Saya ingin menangkap tag XML WiSPr dari portal tawanan otentikasi FON (tetangga saya mengaktifkannya, saya juga memiliki akun roaming untuk itu).
Mencoba mengautentikasi di iPhone atau bahkan Mac tidak berhasil, karena peralatan mendeteksi portal captive/tag WIPR, dan membuka jendela/peramban mini khusus tanpa kontrol apa pun; mencoba membuka halaman di Linux/*BSD mungkin tidak berfungsi karena agen pengguna browser / atau perilaku tidak akan dikenali sebagai iPhone/Apple.
Mengendus transaksi iPhone juga tidak memotongnya, karena halaman login web dari portal captive ditangani di https/TLS (misalnya dienkripsi melalui kabel).
Saya juga mencoba sysdig
di Linux, dan jelas mengenai transmisi terenkripsi.
wget
juga tidak mendapatkan hasil yang memuaskan.
Apa yang harus dilakukan?
Jawaban yang Diterima:
Saya akhirnya menggunakan lynx
dalam sistem FreeBSD; awalnya menggunakan -dump
opsi, yang memungkinkan untuk melihat pengalihan, tetapi hanya keluaran dan bukan isi; kemudian menemukan -source
opsi, yang menunjukkan sumber/HTML dan tidak mencoba merendernya.
Saya juga menggunakan opsi -useragent
untuk berpura-pura saya adalah iPhone yang melakukan penemuan WISPr, dan juga mencoba untuk mendapatkan salah satu halaman yang iPhone coba temukan jika itu berurusan dengan portal tawanan (http://www.apple.com/library/test/sucess.html).
Saya juga harus berurusan dengan fakta bahwa portal captive FON ditandatangani sendiri(?), atau FreeBSD saya tidak mengetahui sertifikat root SSL yang mendasarinya. (Saya tidak kehilangan banyak waktu untuk melacaknya); Saya hanya perlu mengonfigurasi lynx untuk menerima sertifikat yang ditandatangani sendiri (akan menulis pertanyaan nanti dan memiliki tautan di sini).
Jadi perintah sebenarnya yang saya gunakan di mana:
lynx -useragent=CaptiveNetworkSupport -dump http://www.apple.com/library/test/sucess.html
dan bagaimanapun, sementara yang pertama memiliki kegunaannya, yang lebih menarik bagi saya adalah:
lynx -useragent=CaptiveNetworkSupport -source http://www.apple.com/library/test/sucess.html
Menggunakan baris perintah terakhir, berikan saya kembali sumber HTML dalam kemuliaan penuhnya dengan tag WISPr yang disematkan.
Dari 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
diambil dari halaman login yang diambil:
<!-- 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&res=notyet&uamip=xxxx&uamport=80&userurl=&challenge=xxxxxxe&nasid=BC-14-01-XX-XX-XX&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>