Beranda > Hacking > Struktur SQL

Struktur SQL

structure query language[SQL]
SQL Injection adalah salah satu mekanisme serangan web yang digunakan oleh hacker untuk mencuri data dari organisasi. Ini mungkin salah satu lapisan teknik yang paling umum menyerang aplikasi yang digunakan saat ini. Ini adalah jenis serangan yang mengambil keuntungan dari salah pengkodean aplikasi web Anda yang memungkinkan hacker untuk menyuntikkan perintah SQL ke dalam mengatakan bentuk login untuk memungkinkan mereka untuk mendapatkan akses ke data diadakan dalam database Anda.
Pada intinya, SQL Injection muncul karena bidang yang tersedia untuk masukan pengguna SQL memungkinkan laporan untuk lulus melalui dan query database secara langsung.
SQL Injection: Sebuah Penjelasan mendalam
Aplikasi Web memungkinkan pengunjung situs yang sah untuk menyerahkan dan mengambil data ke / dari database melalui internet menggunakan web browser pilihan mereka. Database adalah pusat untuk situs web modern – mereka menyimpan data yang diperlukan untuk situs web untuk memberikan konten khusus untuk pengunjung dan memberikan informasi kepada pelanggan, pemasok, karyawan dan sejumlah stakeholder. Pengguna identitasnya, informasi keuangan dan pembayaran, statistik perusahaan semua mungkin penduduk dalam database dan diakses oleh pengguna yang sah melalui dari rak-the-dan aplikasi web kustom. aplikasi web dan database memungkinkan Anda untuk secara teratur menjalankan bisnis Anda.
SQL Injection merupakan teknik hacking yang mencoba untuk melewati perintah SQL (pernyataan) melalui aplikasi web untuk eksekusi oleh database backend. Jika tidak dibersihkan dengan benar, aplikasi web dapat mengakibatkan serangan SQL Injection yang memungkinkan hacker untuk melihat informasi dari database dan / atau bahkan menghapusnya.
Fitur tersebut sebagai halaman login, dukungan dan bentuk permintaan produk, formulir tanggapan, halaman pencarian, shopping cart dan pengiriman umum konten dinamis, bentuk situs web modern dan menyediakan bisnis dengan sarana yang diperlukan untuk berkomunikasi dengan prospek dan pelanggan. Fitur-fitur situs web adalah contoh aplikasi web yang mungkin baik dibeli off-the-rak atau dikembangkan sebagai program dipesan lebih dahulu.
Fitur-fitur situs web semua rentan terhadap serangan SQL Injection yang timbul karena bidang yang tersedia untuk input SQL memungkinkan pengguna laporan untuk lulus melalui dan query database secara langsung.
SQL Injection: Sebuah Contoh Sederhana
Ambil halaman login sederhana di mana pengguna yang sah akan memasukkan username dan kombinasi sandi untuk memasuki wilayah yang aman untuk melihat rincian pribadinya atau meng-upload komentar di forum.
Ketika pengguna yang sah menyampaikan detailnya, sebuah query SQL dihasilkan dari rincian ini dan diserahkan ke database untuk verifikasi. Jika valid, pengguna diijinkan akses. Dengan kata lain, aplikasi web yang mengontrol halaman login akan berkomunikasi dengan database melalui serangkaian perintah yang direncanakan sehingga untuk memverifikasi username dan kombinasi sandi. Pada verifikasi, pengguna yang sah diberikan akses yang tepat.
Melalui SQL Injection, hacker dapat memasukkan perintah SQL dibuat khusus dengan maksud untuk melewati penghalang form login dan melihat apa yang ada di belakangnya. Ini hanya mungkin jika input tidak benar dibersihkan (yakni, membuat kebal) dan dikirim langsung dengan query SQL untuk database. SQL Injection kerentanan menyediakan sarana bagi seorang hacker untuk berkomunikasi secara langsung ke database.
Teknologi yang rentan terhadap serangan ini adalah bahasa script dinamis termasuk ASP, ASP.NET, PHP, JSP, dan CGI. Semua penyerang perlu melakukan hacking serangan SQL Injection adalah web browser, pengetahuan tentang query SQL dan bekerja menebak kreatif untuk tabel penting dan nama field. Kesederhanaan semata SQL Injection telah memicu popularitasnya.

Mengapa mungkin untuk lulus SQL query langsung ke database yang tersembunyi di balik firewall dan setiap mekanisme keamanan lainnya?

Firewall dan mekanisme deteksi intrusi serupa memberikan pembelaan sedikit atau tidak terhadap skala penuh SQL Injection serangan web.
Karena website anda harus publik, mekanisme keamanan akan memungkinkan lalu lintas web publik untuk berkomunikasi dengan aplikasi web / s (umumnya lebih port 80/443). Aplikasi web yang memiliki akses terbuka untuk database untuk kembali (update) informasi (diubah) diminta.
Dalam SQL Injection, hacker menggunakan query SQL dan kreativitas untuk sampai ke database data perusahaan sensitif melalui aplikasi web.
SQL atau Structured Query Language adalah bahasa komputer yang memungkinkan Anda untuk menyimpan, memanipulasi, dan mengambil data disimpan dalam database relasional (atau kumpulan tabel yang mengatur dan data struktur). SQL ini, pada kenyataannya, satu-satunya cara bahwa sebuah aplikasi web (dan pengguna) dapat berinteraksi dengan database. Contoh database relasional termasuk Oracle, Microsoft Access, MS SQL Server, MySQL, dan FileMaker Pro, yang kesemuanya menggunakan SQL sebagai blok bangunan dasar mereka.
termasuk perintah SQL SELECT, INSERT, DELETE dan DROP TABLE. DROP TABLE adalah sebagai kedengarannya tidak menyenangkan dan bahkan akan menghilangkan tabel dengan nama tertentu.
Dalam skenario yang sah dari contoh halaman login di atas, perintah SQL yang direncanakan untuk aplikasi web mungkin terlihat seperti berikut:
SELECT count (*)
DARI users_list_table
WHERE username = ‘FIELD_USERNAME’
DAN password = ‘FIELD_PASSWORD ”
Dalam bahasa Inggris, ini perintah SQL (dari aplikasi web) menginstruksikan database untuk mencocokkan masukan username dan password oleh pengguna yang sah untuk kombinasi ia telah disimpan.
Setiap jenis aplikasi web sulit dikodekan dengan query SQL spesifik yang akan mengeksekusi ketika menjalankan fungsi yang sah dan berkomunikasi dengan database. Jika kolom input dari aplikasi web tidak benar dibersihkan, hacker mungkin menyuntikkan tambahan perintah SQL yang memperluas jangkauan dari perintah SQL aplikasi web akan mengeksekusi, sehingga melampaui desain dimaksudkan asli dan fungsi.
Seorang hacker dengan demikian akan memiliki saluran komunikasi yang jelas (atau, dalam istilah awam, terowongan) ke database terlepas dari semua sistem deteksi intrusi dan peralatan jaringan keamanan dipasang sebelum database server fisik.
Apakah database saya di risiko untuk SQL Injection SQL Injection? Merupakan salah satu lapisan aplikasi yang paling umum menyerang saat ini sedang digunakan di Internet. Terlepas dari kenyataan bahwa itu relatif mudah untuk melindungi terhadap SQL Injection, ada sejumlah besar aplikasi web yang masih rentan.
Menurut Keamanan Aplikasi Web Consortium (WASC) 9% dari total insiden hacking dilaporkan dalam media sampai 27 Juli 2006 adalah karena SQL Injection. Data yang lebih baru dari penelitian kita sendiri menunjukkan bahwa sekitar 50% dari website kami telah discan tahun ini rentan terhadap kerentanan SQL Injection.
Mungkin sulit untuk menjawab pertanyaan apakah situs web dan aplikasi web Anda rentan terhadap SQL Injection terutama jika Anda tidak programmer atau anda bukan orang yang memiliki kode aplikasi web Anda.
Pengalaman kami membuat kita percaya bahwa ada kemungkinan besar bahwa data anda sudah resiko dari SQL Injection.
Apakah penyerang dapat melihat data yang tersimpan pada database atau tidak, benar-benar tergantung pada bagaimana website Anda adalah kode untuk menampilkan hasil query yang dikirim. Yang pasti adalah bahwa penyerang akan dapat menjalankan Perintah SQL sewenang-wenang pada sistem rentan, baik untuk berkompromi atau lain untuk mendapatkan informasi.
Jika benar kode, maka Anda berisiko memiliki pelanggan Anda dan data perusahaan dikompromikan.
Apa keuntungan akses penyerang juga tergantung pada tingkat keamanan yang diatur oleh database. Database dapat diatur untuk membatasi perintah tertentu saja. Sebuah akses baca biasanya diaktifkan untuk digunakan oleh aplikasi web kembali berakhir.
Bahkan jika penyerang tidak dapat memodifikasi sistem, ia masih akan bisa membaca informasi berharga.
Apa dampak dari SQL Injection? Setelah penyerang menyadari bahwa sistem rentan terhadap SQL Injection, ia mampu menyuntikkan SQL Query / Perintah melalui masukan formulir. Ini setara dengan menyerahkan penyerang database dan memungkinkan dia untuk mengeksekusi perintah SQL termasuk DROP TABLE ke database!
Seorang penyerang dapat melakukan laporan sewenang-wenang SQL pada sistem yang rentan. Hal ini dapat membahayakan integritas dari database Anda dan / atau mengungkapkan informasi sensitif. Tergantung pada database back-end digunakan, kerentanan SQL injection mengakibatkan berbagai tingkat data / sistem akses bagi penyerang. Dimungkinkan untuk memanipulasi query yang ada, untuk UNION (digunakan untuk memilih informasi terkait dari dua tabel) data sewenang-wenang, menggunakan subselects, atau menambahkan pertanyaan tambahan.
Dalam beberapa kasus, dimungkinkan untuk membaca atau menulis ke file, atau untuk menjalankan perintah shell pada sistem operasi yang mendasarinya. SQL Server tertentu seperti Microsoft SQL Server mengandung disimpan dan diperpanjang prosedur (fungsi database server). Jika penyerang bisa mendapatkan akses ke prosedur, bisa mengeja bencana.
Sayangnya dampak dari SQL Injection hanya ditemukan saat pencurian ditemukan. Data sedang tanpa disadari dicuri melalui berbagai serangan hack sepanjang waktu. Para ahli lebih dari hacker jarang tertangkap.
Contoh AttackHere SQLInjection adalah contoh HTML form dengan dua input, login dan password.

Cara termudah untuk login.asp untuk bekerja adalah dengan membangun sebuah query database yang terlihat seperti ini:
SELECT id
DARI login
WHERE username = ‘$ username’
DAN password = ‘$ password’
Jika variabel $ username dan $ password diminta langsung dari input pengguna, ini dengan mudah dapat dikompromikan. Misalkan kita memberikan “Joe” sebagai nama pengguna dan bahwa string berikut diberikan sebagai password: apa-apa ‘ATAU’ x ‘=’ x
SELECT id
DARI login
WHERE username = ‘Joe’
DAN password ‘sesuatu’ = OR ‘x’ = ‘x’
Sebagai masukan dari aplikasi web yang tidak benar dibersihkan, penggunaan tanda kutip tunggal telah mengubah WHERE SQL perintah ke klausul dua komponen.
The = ‘x’ ‘x’ jaminan bagian untuk benar terlepas dari apa bagian pertama berisi.
Hal ini akan memungkinkan penyerang untuk melewati form login tanpa benar-benar mengetahui username yang valid / kombinasi password!
Bagaimana saya mencegah serangan SQL Injection?
Firewall dan mekanisme deteksi intrusi serupa sedikit memberi pertahanan terhadap serangan web skala penuh. Karena website anda harus publik, mekanisme keamanan akan memungkinkan lalu lintas web publik untuk berkomunikasi dengan database server Anda melalui aplikasi web. Bukankah ini apa yang mereka telah dirancang untuk lakukan?
Patching server Anda, database, bahasa pemrograman dan sistem operasi adalah penting tapi akan sama sekali tidak cara terbaik untuk mencegah serangan SQL Injection.

Bagaimana memeriksa kerentanan SQL injection
Mengamankan situs web Anda dan aplikasi web dari SQL Injection melibatkan proses tiga bagian:

1. Menganalisa keadaan sekarang ini keamanan dengan melakukan audit menyeluruh dari situs Anda dan aplikasi web untuk SQL Injection dan kerentanan hacking lainnya.
2. Pastikan bahwa Anda menggunakan coding praktek terbaik santising aplikasi web Anda dan semua komponen lain dari infrastruktur TI Anda.
3. Secara teratur melakukan audit keamanan web setelah setiap perubahan dan penambahan komponen web Anda.

Selanjutnya, prinsip-prinsip Anda perlu diingat ketika memeriksa SQL Injection dan semua teknik hacking lainnya adalah sebagai berikut: “Bagian mana dari website kami pikir aman terbuka untuk serangan hack?” Dan “data apa yang bisa kita melempar pada aplikasi untuk menyebabkan itu untuk melakukan sesuatu yang seharusnya tidak lakukan? “.
Memeriksa kerentanan SQL Injection melibatkan audit Anda website dan aplikasi web. audit kerentanan Manual kompleks dan sangat memakan waktu. Hal ini juga menuntut tingkat keahlian yang tinggi dan kemampuan untuk melacak volume besar kode dan semua trik terbaru ‘perdagangan’ itu hacker.
Cara terbaik untuk memeriksa apakah situs web Anda dan aplikasi yang rentan terhadap serangan SQL injection adalah dengan menggunakan pemindai kerentanan web otomatis dan heuristik.
Sebuah pemindai kerentanan web otomatis menjelajahi seluruh situs Web Anda dan secara otomatis harus memeriksa kerentanan terhadap serangan SQL Injection. Ini akan menunjukkan yang URL / script rentan terhadap SQL injection sehingga Anda dapat langsung memperbaiki kode. Selain kerentanan SQL injection scanner aplikasi web juga akan memeriksa situs scripting Cross dan kerentanan web lainnya.
Signature-Pencocokan versus Scanning Heuristic untuk SQL Injection
Bahwa banyak organisasi memahami kebutuhan untuk mengotomatisasi dan meregularisasi audit web, beberapa menghargai pentingnya pemindaian baik off-the-rak DAN aplikasi web dipesan lebih dahulu. Kesalahpahaman yang umum adalah aplikasi web kustom ini tidak rentan terhadap serangan hacking. Ini muncul lebih dari fenomena “tidak pernah bisa terjadi pada saya” dan situs tempat kepercayaan pemilik dalam pengembang mereka.
Sebuah pencarian di Google News dikembalikan 240 pertandingan pada kata kunci “SQL Injection” (pada saat menulis). Secunia dan SecuObs laporan puluhan kerentanan aplikasi web yang diketahui setiap hari. Namun, contoh aplikasi kustom hacked jarang dikutip di media. Hal ini karena hanya organisasi yang diketahui (misalnya ChoicePoint, AT & T, PayPal) yang menjadi berita utama selama beberapa bulan terakhir.
Hal ini penting untuk memahami bahwa aplikasi web kustom mungkin yang paling rentan dan pasti menarik jumlah terbesar dari hacker hanya karena mereka tahu bahwa aplikasi tersebut tidak melalui pengujian yang ketat dan jaminan mutu proses yang off-the-rak.
Ini berarti bahwa pemindaian aplikasi web kustom hanya dengan pemindai berbasis signature tidak akan menentukan kerentanan terhadap SQL Injection dan setiap teknik hacking lainnya.
Membangun dan pengujian terhadap database tanda tangan kerentanan untuk aplikasi yang dikenal tidak cukup. Hal ini audit pasif karena hanya akan mencakup aplikasi off-the-rak dan setiap kerentanan terhadap teknik-teknik hacking baru tidak akan ditemukan. Selain itu, pencocokan tanda tangan akan melakukan sedikit ketika seorang hacker meluncurkan serangan SQL Injection pada aplikasi web kustom Anda. serangan Hack tidak didasarkan pada pengujian tanda tangan file – hacker mengerti bahwa aplikasi dikenal, sistem dan server yang sedang dimutakhirkan dan dijamin terus-menerus dan konsisten oleh vendor masing-masing. Ini adalah aplikasi kustom yang panci madu pepatah.
Hal ini hanya sedikit produk yang menyebarkan teknologi ketat dan heuristik untuk mengidentifikasi ancaman nyata. Benar web kerentanan pemindaian otomatis hampir seluruhnya tergantung pada (a) seberapa baik situs Anda merangkak untuk membentuk struktur dan berbagai komponen dan link, dan (b) pada kemampuan pemindai untuk meningkatkan cerdas berbagai metode dan teknik hacking terhadap web Anda aplikasi.
Ini akan berguna untuk mendeteksi kerentanan diketahui aplikasi yang dikenal saja. Tingkat signifikan heuristik yang terlibat dalam mendeteksi kerentanan karena hacker sangat kreatif dan melancarkan serangan mereka terhadap aplikasi web dipesan lebih dahulu untuk menciptakan dampak maksimum.

Kategori:Hacking Tag:, ,
  1. Belum ada komentar.
  1. No trackbacks yet.

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

%d blogger menyukai ini: