Archive for the ‘Sekuriti’ Category

Assalamualaikum w.b.t.,

Pernahkah anda mendengar terminologi seperti berikut: (Blind) SQL Injection, Local File Inclusion (LFI), Remote File Inclusion(RFI), Cross Site Scripting (XSS), Cross Site Request Forgery (XSRF atau CSRF), dan Shell Script? Kebanyakannya ialah berkenaan dengan sekuriti website dan berkait rapat dengan pengujian kelemahan atau pencerobohan dan juga penggodaman.

Semakin hari sudah semakin sibuk dengan kerja yang ke arah pengurusan menyebabkan Dekan ingin mengepos berkenaan di atas supaya pengetahuan tersebut dapat disimpan dan boleh dirujuk oleh diri sendiri nanti. Local File Inclusion (LFI) ialah satu teknik *untuk menggunakan sesuatu file di dalam web server tersebut. Dengan menggunakan teknik ini, sesuatu server tersebut boleh dikompromis dengan mengeluarkan output fail yang menyimpan username admin dan password dan mengeksploitasikan server tersebut dan sebagainya.

*selalunya ia disalah faham dengan teknik memasukkan fail ke dalam web tersebut. terdapat pelbagai cara untuk memasukkan fail, sebagai contoh yang senang ialah menggunakan register dan ‘file upload’ sendiri selain menggunakan teknik LFI (yang juga boleh).

Local File Inclusion (LFI)

Teknik ini adalah web-based dan menggunakan kelemahan coding dalam laman web itu sendiri untuk melakukannya. Contohnya, katakan laman web tersebut mempunyai link seperti berikut:

http://www.formatkomputer.net/ref.php?nama=dekan.php

atau

http://www.formatkomputer.net/?nama=dekan.php

Output yang mungkin ialah:


Salam, Dekan.

Terima kasih kerana melayari laman web ini. Berikut ialah kredit yang anda ada: RM100.50
Berikut ialah rekod transaksi terakhir anda: bla bla bla…

Dalam kes ini dekan.php ialah nama fail yang terdapat di dalam server formatkomputer.net. Jika Dekan tukarkan nama “dekan.php” di alamat di browser kepada “fazira.php” atau “fairuz.php“, mungkin Dekan akan mendapat page atau portfolio mereka. Jadi secara tidak langsung, link tersebut akan membuka fail tersebut.

Bagaimana pula jika Dekan meletakkan link seperti berikut:

http://www.formatkomputer.net/?nama=../../etc/passwd atau
http://www.formatkomputer.net/?nama=../../../etc/passwd atau

http://www.formatkomputer.net/?nama=../../../../etc/passwd

Berkemungkinan, jika berjaya, Dekan akan dapat output seperti berikut:

root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
dekan:x:2:2:usr:/sbin:/sbin/nologin

Hal ini adalah kerana Dekan merujuk kepada fail passwd di dalam server laman web tersebut. Maka kandungan dalam fail passwd itu akan terpapar seperti di atas.

Penjelasan ../../etc/passwd:

1. Dalam linux, tempat untuk simpan password terletak dalam fail /etc/passwd
2. Output di atas yang dipaparkan menunjukkan nama akaun untuk server tersebut dan juga attribute lain seperti user id, group id, info dan juga password.
3. Jika anda mendapat seperti di atas: root:x:….. kolum ‘x’ adalah kolum untuk password hash. Namun ‘x’ menunjukkan password tersebut diletakkan di dalam /etc/shadow yang mana ia lebih dienkrip
4. tanda ../ menunjukkan lokasi asal folder tersebut diupkan one level.

Bagaimana ia boleh terjadi?

Ia terhasil disebabkan kelemahan dalam koding laman tersebut yang memberikan kemudahan meng’include’ (memasukkan) fail seperti dalam bahasa pengaturcaraan PHP. Contoh kod PHP tersebut ialah seperti berikut:

require_once($LANG_PATH . ‘/’ . $_GET[‘lang’] . ‘.php’);

Kod tersebut menunjukkan variable ‘lang’ (untuk language) dimasukkan ke fail tersebut mungkin kerana pengguna diberi kebenaran untuk memilih bahasa. Kod itu juga menambah .php untuk setiap input yang dimasukkan. Untuk di atas, jika parameter ‘malay’ atau ‘eng’ dihantar, kemungkinan laman web tersebut akan memaparkan kandungan dalam Bahasa Melayu dan Bahasa Inggeris masing-masing. Contohnya:

http://www.formatkomputer.net/index.php?lang=malay

http://www.formatkomputer.net/index.php?lang=eng

Dalam kes ini, tiada .php sekali dengan parameter, dan ia menyukarkan proses file inclusion untuk yang bukan fail php. Tidak benar. Terdapat pelbagai cara lain untuk melakukannya. Antaranya ialah penggunaan Null Byte. Jadi apa yang boleh dilakukan ialah dengan cubaan menghantar parameter lain seperti berikut sebagai contoh:

http://www.formatkomputer.net/index.php?lang=../../etc/passwd%00

Jika bernasib baik, kandungan fail passwd akan terpapar sama seperti di atas. Hal ini adalah kerana “%00” yang dikenali dengan nama NULL byte ditafsir oleh PHP interpreter untuk mengakhiri sesuatu line. Ia seperti noktah di situ. Jadi sebarang perkataan atau coding selepas %00 tidak akan dilayan. Maka ia ditafsirkan sebagai satu fail yang sah dan wujud dan kemudian dipaparkan.

Bersambung.

  • 2 Comments
  • Filed under: Sekuriti
  • Salam semua,

    Beberapa bulan lepas Dekan ada menukar hosting bagi beberapa laman web yang Dekan jaga ke hosting yang lain, Elfbytes. Namun begitu, baru-baru ini, Dekan mendapat notis yang hosting lama Dekan telah digodam. Dan satu storage (Box) itu telah dikompromis. Ahamdullillah, dalam cuak mula-mula lega Dekan mendengarnya kerana hosting telah dipindahkan ke tempat lain.

    Namun kelegaan Dekan tidak lama. Tiba-tiba teringat pula, adakah fail-fail dihosting lama di’automatik’ buang (delete) oleh penyedia hosting lama? Ia dibiarkan beberapa lama disitu untuk disimpan beberapa ketika dengan mengambilkira pengguna terlambat memperbaharui hosting pada tahun berikutnya. Jadi, jika godaman telah berlaku, barangkali fail-fail tersebut ada disalin dan disimpan oleh si penyerang. Dan si penyerang mungkin boleh turut melakukan aktiviti yang ‘malicious’ di laman web anda yang baru kerana mengetahui ‘rahsia’ di sebalik fail-fail yang terkandung disitu (seperti fail upload.php sendiri, folder yang berakses 777 dan sebagainya).

    Oleh itu, pesanan kepada pembaca dan diri Dekan sendiri, lain kali, buang (delete) fail-fail dalam hosting lama sebelum pindah ke hosting baru.

    Sekian.

    P/S: Dekan ingin melahirkan rasa kekecewaan kepada penyedia hosting tersebut yang buat kali keduanya menghilangkan fail-fail dan data pelanggan atas kesalahan sendiri. Dan mereka tidak mempunyai backup. Mereka juga pernah mengakibatkan salah satu laman web Dekan downtime hampir 2 minggu. Not worth to host your business here.

  • 2 Comments
  • Filed under: Sekuriti
  • Assalamualaikum,

    Tatkala meneliti ‘Password Recovery System’ bagi beberapa laman web seperti yahoo, fb, maybank, cimb, hsbc, dan lain-lain servis goverment, terdapat beberapa perkara menarik yang menarik perhatian. Kebanyakannya menggunakan kaedah soalan-soalan yang boleh dijawab secara peribadi oleh individu tersebut. Ini menunjukkan hanya individu tersebut sahaja boleh memperoleh passwordnya kembali jika berlaku kecemasan/keterlupaan.


    Walau bagaimanapun, disebabkan wujudnya rangkaian sosial di internet yang semakin popular ketika ini, maka maklumat tersebut senang diperoleh tanpa perlu mengetahui diri seseorang tersebut secara peribadi. Jawapan kepada soalan tersebut kebanyakannya boleh diperoleh daripada jaringan Facebook, twitter, blog, myspace, formspring, dan lain-lain lagi, dan set-set jawapan bagi jawapan umum boleh dikumpulkan.

    Soalan dan Jawapan

    Misalnya, katakan anda diberi soalan berikut: “Nama ibu anda?” Dan jawapannya berkemungkinan boleh diperoleh daripada laman web sosial dan orang yang berdekatan. Begitu juga bagi jawapan “Tempat Lahir?” dan juga “Tarikh Lahir” sekalipun kerana IC penduduk Malaysia adalah berdasarkan kepada tarikh lahir (dan IC kebanyakannya boleh diperoleh dengan mudah di internet). Katakan pula anda diberi soalan “Jenama motor pertama anda?

    Set jawapan

    Soalan tersebut adalah bersifat peribadi. Hanya individu tersebut sahaja yang tahu jawapannya. Ia mungkin tidak tercetak di laman web sosial. Tapi jika bernasib baik, berkemungkinan anda boleh menekanya dengan adanya gambar-gambar di laman web sosial tersebut. Namun, cara yang paling mudah dilakukan ialah dengan mengumpul set jawapan bagi soalan tersebut. Katakan jenama motor pertama. Setnya mungkin: “Yamaha; Honda; Kawasaki; Ex5; Wave; RZ; skuter; demak; comel;” dan sebagainya.

    Sama juga dengan jawapan kepada “Tempat peranginan honeymoon anda.” Ia adalah tertakluk kepada set jawapan yang boleh diteka. Jika anda meletakkan tempat yang spesifik seperti ‘Hotel Seri Malaysia’ mungkin agak sukar diteka, namun jika ia termasuk dalam set berikut: “Langkawi, Pulau Pangkor, Tioman, Malaysia, Australia, Paris, Sabah, Genting Highland“, maka ia adalah dalam lingkungan ‘yang perlu diketatkan keselamatan’.

    Berapa ramai pula yang menggunakan kata laluan yang sama bagi akaun Facebook, Yahoo, Gmail, Maybank2u, Cimb dan lain-lain lagi? Dekan pernah juga diceritakan daripada pengalaman rakan-rakan yang lain yang kebanyakannya menggunakan kata laluan yang sama bagi akaun tersebut untuk memudahkan ingatan.

    Pernah juga kes sebegini berlaku (true story ok), yang seseorang ini tidak dapat memasuki email beliau. Telah beberapa kali cuba, namun tidak berjaya, beliau menggunakan password akaun FB nya. Dan akhirnya beliau berjaya masuk. Pelik dengan keadaan tersebut yang agak luar biasa, beliau mengubah kembali password email tersebut kepada yang lain dan mengubah ‘Secret Question’. Beliau mensyaki seseorang telah memasuki email beliau dengan helah password recover, dan kemudian merecover semua password sosial beliau. Selepas itu ia menukar semula password email tersebut sama seperti password di rangkaian sosial. Bagi pengguna biasa ia mungkin nampak seperti biasa. “Salah masuk kot agaknya.” Akan tetapi anda sebenarnya sudah di’OwN’ dan dimonitor.

    Countermeasure

    Jika anda disuruh meletakkan jawapan kepada soalan peribadi, berikan secara spesifik dan jika anda diberi pilihan untuk meletakkan soalan sendiri, berikan ia sebagai klue untuk jawapan sebenar dan bukan terlalu langsung. Tertarik pula dengan pendekatan Maybank, mereka menggunakan soalan yang agak trivial yang mungkin agak sukar diperoleh daripada laman sosial, dan agak janggal juga jika anda tiba-tiba bertanya kepada si pemunya badan. =)

    Bagi akaun yang berlainan pula, pastikan anda mempunyai kata laluan yang berasingan. Seperti Dekan, Dekan mempunyai 3 set kata laluan (<- bagitau tuh. :p ) untuk diingat dan setiap set itu mempunyai subset yang berubah-ubah seperti angka dan juga karekter special.

    Semoga ia membantu anda sedikit dalam urusan di dunia maya ini.

    P/S: Bolehkah anda semua membantu bagaimana mendapatkan kata laluan bagi soalan-soalan tersebut dalam gambar di atas?

  • 7 Comments
  • Filed under: Sekuriti
  • Sajer-sajer.. LAlala

    Nilai Blog Saya~


    My blog is worth RM57593.28.

    How much is your blog worth?

    Listed In



    Masukkan email anda:

    untuk artikel percuma di sini. Sila periksa email untuk pengesahan.

    Subscribe AddThis Feed Button Add to Google Reader or Homepage

    Komen2 Terbaru


    Status Counter



    Malaysian Shout


    Free shoutbox @ ShoutMix