Cara Mengatasi Bug Sql Pada Website
Kamis, 16 Mei 2019
Tulis Komentar
Cara Mengatasi Bug Sql Pada Website - Hello whatsapp gays kembali lagi bersama saya imamkun di bloggernya team explosion squad cyber di artikel kali ini saya akan membahas tentang bug yang bernama Sql Nah di artikel kali ini saya akan mengajarkan kalian caranya mengatasi bug sql pada website, Nah sebuah serangan Sql Injection adalah sebuah metode serangan yang di lakukan oleh hacker jahat atau yang biasa disebut blackhat dengan cara memasukan / menginjeksi Sql Query / Perintah Sql melalui input data pada sebuah aplikasi. biasanya serangan ini terjadi pada kolom pencarian / search box, form ( login, daftar, dll ) Parameter, Header, HTTP, Dll. Kurang lebih gitu deh :)
Jika anda adalah seorang admin / webmaster. Maka hal ini adalah suatu yang serius bagi anda apa lagi sekarang sedang banyak / sedang ngetop banget Serangan Sql Injection ini
Contoh Source / Code Yang Vulnerable / Rentan terhadap Sql Injection
Prepared Statements and Bound Parameters. A prepared statement is a feature used to execute the same (or similar) SQL statements repeatedly with high efficiency. Prepared statements basically work like this: Prepare: An SQL statement template is created and sent to the database.
Berikut contoh code untuk memperbaiki bug SQL Injection pada code diatas.
Berikut beberapa WAF yang dapat diandalkan untuk menjaga Web anda dari serangan Hacker Jahat :3 :
Barracuda Networks Web Application Firewall
CloudFlare ( CDN sekaligus WAF )
Incapsula ( CDN sekaligus WAF )
Dan masih banyak lagi.
Nah mungkin cukup sekian artikel saya kali ini mengenai " Cara Mengatasi Bug Sql Pada Website "
dan jangan lupa follow blog ini biar tidak ketinggalan berita menarik lainnya
next jika kalian punya ide untuk di upload silahkan di comment saja di colom commentar dibawah ini saya izin pamit ea gan :)
Jika anda adalah seorang admin / webmaster. Maka hal ini adalah suatu yang serius bagi anda apa lagi sekarang sedang banyak / sedang ngetop banget Serangan Sql Injection ini
Contoh Source / Code Yang Vulnerable / Rentan terhadap Sql Injection
<?phpNah caranya
$id = $_GET['id'];
$db = mysql_connect('localhost', 'admin', '123456');
mysql_select_db("bug", $db);
$query = "SELECT * FROM pengguna WHERE id = '".$id."'";
$hasil = mysql_query($query);
echo $hasil;
?>
- Gunakan Prepared Statement pada SQL Query anda.
Prepared Statements and Bound Parameters. A prepared statement is a feature used to execute the same (or similar) SQL statements repeatedly with high efficiency. Prepared statements basically work like this: Prepare: An SQL statement template is created and sent to the database.
Berikut contoh code untuk memperbaiki bug SQL Injection pada code diatas.
<?php
$db_host = "localhost";
$db_name = "admin"; // database name
$db_user = "baru"; // datebase user
$db_pass = "123456"; // database password
$koneksi = "mysql:host=$db_host;dbname=$db_name";
try
{
$db = new PDO($koneksi, $db_user, $db_pass);
}
catch (exception $e)
{
echo "error";
exit();
}
$id = $_GET['id'];
$sql = "SELECT * FROM pengguna WHERE id = $id";
$stmt = $db->prepare($sql);
$stmt->execute();
$objek = $stmt->fetchObject();
echo $objek->nama;
?>
- Gunakan filter pada code PHP anda.
<?php
$id = filter_var($_POST['id'], FILTER_VALIDATE_INT); // Filter ini berguna untuk mefilter tipe
//data integer
$nama = filter_var($_POST['nama'], FILTER_SANITIZE_STRING);//untuk tipe string
?>
- Gunakan .htaccess untuk memfilter Query HTTP pada web server anda
ServerSignature Off
Options -Indexes
RewriteEngine On
RewriteCond %{REQUEST_METHOD} ^(HEAD|TRACE|DELETE|TRACK|DEBUG) [NC]
RewriteRule ^(.*)$ - [F,L]
RewriteCond %{REQUEST_URI} (timthumb\.php|phpthumb\.php|thumb\.php|thumbs\.php) [NC]
RewriteRule . - [S=1]
RewriteCond %{HTTP_USER_AGENT} (libwww-perl|wget|python|nikto|curl|scan|java|winhttp|clshttp|loader) [NC,OR]
RewriteCond %{HTTP_USER_AGENT} (<|>|'|%0A|%0D|%27|%3C|%3E|) [NC,OR]
RewriteCond %{HTTP_USER_AGENT} (;|<|>|'|"|\)|\(|%0A|%0D|%22|%27|%28|%3C|%3E|).*(libwww-perl|wget|python|nikto|curl|scan|java|winhttp|HTTrack|clshttp|archiver|loader|email|harvest|extract|grab|miner) [NC,OR]
RewriteCond %{THE_REQUEST} \?\ HTTP/ [NC,OR]
RewriteCond %{THE_REQUEST} \/\*\ HTTP/ [NC,OR]
RewriteCond %{THE_REQUEST} etc/passwd [NC,OR]
RewriteCond %{THE_REQUEST} cgi-bin [NC,OR]
RewriteCond %{THE_REQUEST} (%0A|%0D) [NC,OR]
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|) [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|).*(/\*|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]
- Pasang WAF ( Web Application Firewall ) Pada Web Server Anda.
Berikut beberapa WAF yang dapat diandalkan untuk menjaga Web anda dari serangan Hacker Jahat :3 :
Barracuda Networks Web Application Firewall
CloudFlare ( CDN sekaligus WAF )
Incapsula ( CDN sekaligus WAF )
Dan masih banyak lagi.
Nah mungkin cukup sekian artikel saya kali ini mengenai " Cara Mengatasi Bug Sql Pada Website "
dan jangan lupa follow blog ini biar tidak ketinggalan berita menarik lainnya
next jika kalian punya ide untuk di upload silahkan di comment saja di colom commentar dibawah ini saya izin pamit ea gan :)
Belum ada Komentar untuk "Cara Mengatasi Bug Sql Pada Website"
Posting Komentar