Lindungi URL WordPress Dari Request Berbahaya
By Cruz3N | on December 27th, 2010 | 2 Comments
Awalnya dari postingan dari salah satu sahabat saya, Despic Crash di facebook yang menunjukkan screenshot bagaimana dia melakukan scanning terhadap WordPress menggunakan wpscan dari darkc0de. Sebenernya itu bukan scanner, itu hanyalah kumpulan / list beberapa exploit WordPress. Nah untuk mencegahnya yah kita jangan menggunakan plugin pada daftar list / selalu update WordPress dan plugin yang kita gunakan.
Apa akan bertahan tuh? Nah terpikir 1 cara untuk mencegah request URL berbahaya… Penasaran?
Pertama yang mesti kalian lakukan adalah buat file php dengan nama terserah.php lalu paste kode berikut
<?php
/*
Plugin Name: Block Bad Queries
Plugin URI: http://perishablepress.com/press/2009/12/22/protect-wordpress-against-malicious-url-requests/
Description: Protect WordPress Against Malicious URL Requests
Author URI: http://perishablepress.com/
Author: Perishable Press
Version: 1.0
*/
global $user_ID; if($user_ID) {
if(!current_user_can('level_10')) {
if (strlen($_SERVER['REQUEST_URI']) > 255 ||
strpos($_SERVER['REQUEST_URI'], "eval(") ||
strpos($_SERVER['REQUEST_URI'], "CONCAT") ||
strpos($_SERVER['REQUEST_URI'], "UNION SELECT") ||
strpos($_SERVER['REQUEST_URI'], "base64")) {
@header("HTTP/1.1 414 Request-URI Too Long");
@header("Status: 414 Request-URI Too Long");
@header("Connection: Close");
@exit;
}
}
} ?>
Lalu upload sebagai plugin, terlihat dia akan melakukan filter terhadap URL request yang bertuliskan UNION SELECT, CONCAT, dll. Kalian bisa tambahkan sendiri neh. Terserah, kan kalian yang biasa inject website
.
Semoga berguna… All Credits and Thanks to Jeff Starr
UPDATE
Nah script diatas juga ada beberapa kelemahan diantaranya seperti yang telah saya jelaskan disini bahwa jika sang attacker menggunakan kata UniOn atau cOnCaT maka akan lolos lalu script diatas juga tidak memfilter tag pembuka dan penutup HTML serta tanda single quote (‘)… Maka saya melakukan sedikit modifikasi dan sekali lagi terima kasih yang sebesar-besarnya buat Om Ketek. Ingat gak cuman WordPress, script berikut bisa diterapkan pada semua web… Semoga berguna…
<?php
/*
Plugin Name: Block Bad Queries
Plugin URI: http://perishablepress.com/press/2009/12/22/protect-wordpress-against-malicious-url-requests/
Description: Protect WordPress Against Malicious URL Requests
Author URI: http://perishablepress.com/
Author: Perishable Press
Version: 1.0
*/
if (strlen($_SERVER['REQUEST_URI']) > 255 ||
stripos($_SERVER['REQUEST_URI'], "concat" ) ||
stripos($_SERVER['REQUEST_URI'], "union") ||
stripos($_SERVER['REQUEST_URI'], "base64") ||
stripos(urldecode($_SERVER['REQUEST_URI']), "<") ||
stripos(urldecode($_SERVER['REQUEST_URI']), ">") ||
stripos(urldecode($_SERVER['REQUEST_URI']), "'"))
{
$client_ip = $_SERVER['REMOTE_ADDR'];
$req_uri = urldecode($_SERVER['REQUEST_URI']);
echo "Maaf Bro... Apa tuh? Mau Nakal Yah
<br>";
echo "Your IP : ". $client_ip ."<br>";
echo "URL : ". $req_uri;
@header("HTTP/1.1 414 Request-URI Too Long");
@header("Status: 414 Request-URI Too Long");
@header("Connection: Close");
@exit;
}
?>
Related posts:





