Aplikasi Web telah membawa serta kelas -kelas baru kerentanan keamanan komputer, seperti injeksi SQL. Ini adalah kelas kerentanan berbasis validasi input. Penggunaan khas Informasi Rahasia Kebocoran SQL Injeksi dari database, logika otentikasi by-pass, atau menambahkan akun yang tidak sah ke database. Keamanan ini mencegah akses yang tidak sah ke database Anda dan juga mencegah data Anda diubah atau dihapus oleh pengguna tanpa izin yang sesuai. Detektor teks berbahaya, validasi kendala, validasi panjang kueri dan generator kunci berbasis teks adalah empat jenis teknik filtrasi yang digunakan untuk mendeteksi dan mencegah serangan injeksi SQL mengakses database.
Kami sedang melakukan proyek ini di Ubuntu
Kami akan mendeteksi injeksi SQL di server proxy untuk meningkatkan tingkat keamanan. Karena nginx lebih cepat dan lebih mudah digunakan, kami akan menggunakannya sebagai server proxy. Aplikasi Web kami akan berjalan di Apache Server.
Jadi, saat lalu lintas dari browser akan datang ke server nginx, kami akan mengkonfigurasi port -portnya
Tambahkan file webproxy dari repositori ke /etc/nginx/sites-enabled .
Tambahkan WebProxy ke Situs yang diaktifkan Nginx. Di sini kami telah mengarahkan lalu lintas HTTP melalui Nginx Server ke port 8080.
Sekarang kami akan memperbarui port server Apache dari layanan HTTP. Perbarui file ports.conf dari repositori ini di /etc/apache2/ Juga perbarui file 000-default.conf dari repositori ini di /etc/apache2/sites-enabled .
Ganti folder html dari repositori ini ke /var/www/ folder. Jalankan bank.sql untuk membuat basis data di mysql. (Crediantials untuk mysql: nama pengguna: root kata sandi: root)
Di sini kami telah menambahkan aplikasi bank
service nginx start
service apache2 startPeriksa apakah server Nginx dikonfigurasi pada port no. 80 dan server Apache dikonfigurasi pada port no. 8080.
Pergi ke localhost:8080/bank/login.html . Masukkan nama pengguna sebagai AA dan suntikkan kata sandi sebagai 'atau' y '=' y
Sekarang Anda dapat melihat seluruh database.
Pergi ke localhost/bank/login.html . Masukkan nama pengguna sebagai AA dan suntikkan kata sandi sebagai 'atau' y '=' y
Sekarang Anda tidak dapat melihat seluruh database dan Anda juga tidak dapat menyuntikkannya dengan pertanyaan lain.
Ketika kredensial pengguna dimasukkan dalam sistem rentan, mereka langsung diteruskan ke perangkat lunak database. Tetapi jika kami memberikan validasi input sebelum mencapai aplikasi Web yang naik seperti di Proxy Server, kami dapat mengurangi beban pada server Apache dan memprosesnya secara efisien di server Nginx yang lebih cepat .
Jadi, saya telah menyusun semua kata kunci MySQL yang digunakan untuk serangan injeksi SQL dan menetapkan bobot sehingga semua input divalidasi dan memeriksa serangan.
Karena serangan injeksi SQL dicegah.
Penulis dan Pencipta: Jayant Rane