Karena belakangan banyak yang minta skrip autologin buat Windows (kan sebelumnya pakai skrip shell yang notabene ga selalu ada di Windows), aku tambah skrip buat Windows.

Download dari sini.
Yang perlu dilakukan adalah menyesuaikan file webauth, jalankan skrip dengan ekstensi BAT yang tercantum, lalu berdoa (keterangan selebihnya bisa dibaca di file README yang tercantum).

Skrip ini cuma memudahkan (otomatisasi) login; mekanisme keamanan, kerahasiaan akun, dan segala macamnya bukan tanggung jawabku tentunya.

Kali ini kasusnya komputerku yang kutinggal dari kemarin–eh, ternyata memori 2 GB udah kepakai banyak buat disk-cache (sampe meluber ke swap segala).
–dan banyak window file manager yang terbuka, kayanya tadi malam ada yang nancepin flashdisk terus bingung bagaimana [prosedur yang baik untuk] nyopotnya

Solusinya biar bisa (segera) dipakai buat aplikasi lain:
sync && echo 3 > /proc/sys/vm/drop_caches

Komputerku yang baru-baru ini (setelah pulang PKL) kupasangin casing yang bener, kutaruh di kampus karena di kamarku udah penuh barang-barang (dan jatah komputerku di lab udah kudonasikan buat lab FPGA yang segera mau buka 🙂 )


Snapshot desktopnya: Slackware 13.37. XFCE pakai iconset tango (KDE). Mau naik pangkat tapi masih malas banget reboot (kalo ga gara-gara listrik padam aja). Dari ikon di tray harusnya kelihatan dipakai apa aja, hehe.

Melengkapi post sebelumnya tentang auto-login ke NAS.ub, ada tambahan form yang harus dikirim, yaitu: termAuth.
post sebelumnya membahas tentang form webAuth.

Singkat cerita ada 2 paket yang harus dikirim, tapi aku bakal cuma tulis paket untuk termAuth di post ini (biar yang satunya banyak yang baca, hehe). Paket termAuth berisi:
POST /termsAuth/index.htm?www.google.com/search?q=a&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:en-US:unofficial&client=firefox-nightly HTTP/1.1
Host: 175.45.184.173
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:14.0) Gecko/20120314 Firefox/14.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://175.45.184.173/termsAuth/index.htm?www.google.com/search?q=a&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:en-US:unofficial&client=firefox-nightly
Content-Type: application/x-www-form-urlencoded
Content-Length: 38

check_id=on&submit=Continue&clause=yes

Skrip shell perlu diubah sedikit menjadi:
#!/usr/bin/bash
while [ 1 ]; do cat termauth | nc nas.ub.ac.id 80; cat webauth | nc nas.ub.ac.id 80; sleep 200; done

Done!

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 🙂