Bagaimana Melindungi Website dari SQL Injection


Status
Not open for further replies.

Distro

Beginner 2.0
Selamat Siang mastah DWH....
Kali ini ada pertanyaan seputar "SQL injection". Sebagai seorang blogger, saya sering membaca artikel tentang hacker, cracker dan keamanan server, melakukan infiltrasi website melalui metode yang disebut ‘SQL Injection’ dan kemudian hacker tersebut benar-benar mengambil kendali, merubah, mendapatkan akses, atau merusak website yang telah berhasil diobobol-nya. Beberapa panduan secara umum kita dapat mengaktifkan MOD_SECURITY di cPanel. Akan tetapi langkah ini masih belum efektif dalam menangkal hal ini. Bagaimana langkah dan mencegah seseorang melakukan SQL injection ke server kita...
Kami tunggu tips para suhu/master menangkal sql injection, mohon jangan di bully. :)
 
klo bapak hanya pengguna wordpress sih pastikan saja selalu up-to-date (termasuk plugin2-nya)

sql injection kebanyakan penyebabnya dari developer yg kurang waspada dalam menjaga user input. seperti misalnya input untuk email, tapi tidak ngecek klo yg di isi itu bisa bukan email.
 
Kalau aplikasi web tersebut dibuat sendiri, sebaiknya dilakukan assesment dengan menggunakan tool atau framework yang tersedia untuk mengetahui apakah ada kelemahan dari aplikasi yang telah dibuat tersebut. Salah satunya contoh bisa menggunakan product Accunetix (https://www.acunetix.com/)
 
dari sisi user, via htaccess sepertinya bisa dicoba :
Code:
# Block MySQL injections, RFI, base64, etc.
RewriteEngine On
RewriteCond %{QUERY_STRING} [a-zA-Z0-9_]=http:// [OR]
RewriteCond %{QUERY_STRING} [a-zA-Z0-9_]=(\.\.//?)+ [OR]
RewriteCond %{QUERY_STRING} [a-zA-Z0-9_]=/([a-z0-9_.]//?)+ [NC,OR]
RewriteCond %{QUERY_STRING} \=PHP[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12} [NC,OR]
RewriteCond %{QUERY_STRING} (\.\./|\.\.) [OR]
RewriteCond %{QUERY_STRING} ftp\: [NC,OR]
RewriteCond %{QUERY_STRING} http\: [NC,OR]
RewriteCond %{QUERY_STRING} https\: [NC,OR]
RewriteCond %{QUERY_STRING} \=\|w\| [NC,OR]
RewriteCond %{QUERY_STRING} ^(.*)/self/(.*)$ [NC,OR]
RewriteCond %{QUERY_STRING} ^(.*)cPath=http://(.*)$ [NC,OR]
RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%3E) [NC,OR]
RewriteCond %{QUERY_STRING} (<|%3C)([^s]*s)+cript.*(>|%3E) [NC,OR]
RewriteCond %{QUERY_STRING} (\<|%3C).*iframe.*(\>|%3E) [NC,OR]
RewriteCond %{QUERY_STRING} (<|%3C)([^i]*i)+frame.*(>|%3E) [NC,OR]
RewriteCond %{QUERY_STRING} base64_encode.*\(.*\) [NC,OR]
RewriteCond %{QUERY_STRING} base64_(en|de)code[^(]*\([^)]*\) [NC,OR]
RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2}) [OR]
RewriteCond %{QUERY_STRING} ^.*(\[|\]|\(|\)|<|>).* [NC,OR]
RewriteCond %{QUERY_STRING} (NULL|OUTFILE|LOAD_FILE) [OR]
RewriteCond %{QUERY_STRING} (\./|\../|\.../)+(motd|etc|bin) [NC,OR]
RewriteCond %{QUERY_STRING} (localhost|loopback|127\.0\.0\.1) [NC,OR]
RewriteCond %{QUERY_STRING} (<|>|'|%0A|%0D|%27|%3C|%3E|%00) [NC,OR]
RewriteCond %{QUERY_STRING} concat[^\(]*\( [NC,OR]
RewriteCond %{QUERY_STRING} union([^s]*s)+elect [NC,OR]
RewriteCond %{QUERY_STRING} union([^a]*a)+ll([^s]*s)+elect [NC,OR]
RewriteCond %{QUERY_STRING} (;|<|>|'|"|\)|%0A|%0D|%22|%27|%3C|%3E|%00).*(/\*|union|select|insert|drop|delete|update|cast|create|char|convert|alter|declare|order|script|set|md5|benchmark|encode) [NC,OR]
RewriteCond %{QUERY_STRING} (sp_executesql) [NC]
RewriteRule ^(.*)$ - [F,L]

Source : https://internetlifeforum.com/php-mysql-forum/2630-how-prevent-xss-injection-attacks-htaccess/


btw ginian ini pernah di post ama masgan @Bestariweb Hosting di thread yg laen :

>>> https://www.diskusiwebhosting.com/t...amanan-webserver-para-suhu.22971/#post-219956
 
Status
Not open for further replies.
Back
Top