NAS.ub auto-login (webauth)

Baru-baru ini (mulai akhir Januari) di UB dipasang mekanisme login melalui web yang baru untuk RADIUS yang menggantikan yang lama (yang biru-putih itu).

Ada beberapa kekurangan yang pada antarmuka web yang baru ini:
– ga pakai SSL (mana sertifikatnya?),
– ga ada fungsi hash,
– isinya cuma plain text,
– interval sesi yang terasa terlalu cepat (berapa menit sih sebenarnya? atau aktivitas?),
– ga ada logo UB-nya (d’oh!),
Kesimpulannya: ndak mbois, blas!

Menanggapi kejengkelan tersebut, aku iseng-iseng bikin skrip auto-login biar bisa ninggal komputer download sampai besoknya. Pendekatannya sederhana: tangkap paket waktu login, duplikasikan secara periodik dengan shell/batch script.

Untuk mendapatkan bentuk paket, aku pakai wireshark, harusnya segera dapat paket HTTP dengan bentuk semacam ini:

POST /webAuth/ HTTP/1.1
Host: nas.ub.ac.id
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:13.0) Gecko/20120313 Firefox/13.0a1
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip, deflate
Connection: keep-alive
Referer: http://nas.ub.ac.id/webAuth/
Content-Type: application/x-www-form-urlencoded
Content-Length: 62

username=--nimku--&password=--passwordku--&pwd=--passwordku--&secret=true

Paket tersebut tinggal disimpan jadi file dengan menu “Save as” di wireshark 🙂 Trim header-header dari enkapsulasi (aku pakai dd) sampai jadi paket HTTP-nya.

Nah, setelah punya file yang berisi paket tersebut kita bisa kirim secara periodik. Aku gunakan nc (netcat) untuk manipulasi socket-nya. Aku buat shell script:
#!/usr/bin/bash
while [ 1 ];
do cat paket-login | nc nas.ub.ac.id 80;
sleep 500; # 500 detik
done;

–buat sistem operasi Windows pakai skrip batch, yah. aku ga bisa jelasin, deh

Langkah terakhir, berdoa semoga skripnya bisa jalan sesuai yang diinginkan 🙂