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.

  • 4 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,

    Jika anda seorang (atau berminat menjadi seorang) penganalisa ‘lubang-lubang keselamatan’ (wah, term. haha.), anda boleh mendapatkan ganjaran dengan hasil anda tersebut.

    Walaupun agak lama Dekan tidak ‘berkecimpung’ dengan hiew, ollydbg dan sebagainya kembali, namun tawaran yang semakin meningkat oleh Mozilla dan Google agak memberansangkan. Dulu-dulu adalah jugak bercadang nak buat ‘kununnya’ sumber pendapatan sampingan (walaupun tak mahir, haha), namun usaha terbantut kerana Dekan beralih arah kepada ‘penganalisaan’ yang lain pula atas pertukaran kerja.

    Jika anda mempelajari assembly language, seorang programmer yang boleh faham code yang decompile, dan juga pemprogram tool yang cikai2 pun xpe untuk fuzzing, maka, mungkin anda secara tidak langsung atau langsung boleh menjumpai vulnerability 0-day atau bug dalam software dan kemudian melaporkannya kepada pihak berkenaan untuk ganjaran. Tidak salah mencuba bukan.

    Antara syarikat-syarikat yang menawarkan perkhidmatan ganjaran tersebut ialah:
    1. iDefense LabVulnerability Contributor Program (VCP)
    2. Tipping PointZero Day Initiative
    3. GoogleThe Chromium Project
    4. MozillaBug Bounty

    Sekian sahaja info untuk anda. Jika cadang nak ajak Dekan join, tak pun nak letak nama Dekan, tak pun nak lepak dengan Dekan, just drop me email: admin [dhfdfbb] mywindowsxp.info . Gantikan [dhfdfbb] dengan @.

    Sori lama nggak update. Tengok banyak pula fan, teruja kembali. Wah, banyak la sangat kan. Oklah, buat keje, buat keje. Asik merepek je Dekan neh.

  • 5 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