Cara Mengatasi XSS Bug pada Bagian Komentar Wordpress

From OnnoWiki
Jump to navigation Jump to search

Sumber: http://rheza.promote-indie.com/2009/04/cara-mengatasi-xss-wordpress/

Beberapa minggu ini saya memang disibukkan dengan pembuatan project saya yang berjudul “Promote Indie Band” a.k.a “PIB” yang merupakan komunitas band indie seluruh Indonesia. Disaat selesai alpha testing atas pembuatan website tersebut, saatnya melakukan open BETA.

Disaat open BETA tersebut, saya sebagai web developer dari PIB melakukan beberapa testing tentang kelemahan website PIB yang memakai CMS Wordpress versi 2.7.1. Saat saya mencoba melakukan test XSS pada fasilitas searchnya, ternyata sudah aman dan tidak jalan. Akan tetapi, saat saya mencoba mengetest dibagian komentar, ternyata saya menemukan bahwa bug XSS masih saja menghinggapi CMS Wordpress versi 2.7.1 tersebut.

Lalu, bagaimana cara mengatasinya? Lihat cara dibawah ini! :)

  • Buka file wp-comments-post.php yang berada pada directory root website yang anda pasangi script wordpress, bisa dengan dreamweaver, textpad, atau notepad sekalipun.
  • Cari bagian dengan kode seperti ini :
$comment_author       = ( isset($_POST['author']) )  ? trim(strip_tags($_POST['author'])) : null;
$comment_author_email = ( isset($_POST['email']) )   ? trim($_POST['email']) : null;
$comment_author_url   = ( isset($_POST['url']) )     ? trim($_POST['url']) : null;
$comment_content      = ( isset($_POST['comment']) ) ? trim($_POST['comment']) : null;
  • Copy dan paste kode berikut tepat diatas kode yang tadi.
/*====FIX BUG XSS by Rheza at www.rheza.co.cc====*/

$komentarbug  = $_POST['comment'];
$bugxss = array("<script>", "</script>");
$fixbug   = array("", "");
$komentarfix = str_replace($bugxss, $fixbug, $komentarbug);
  • Edit baris kode terakhir yang ada pada no.2, sehingga menjadi seperti berikut :
$comment_content      = ( isset($_POST['comment']) ) ? trim($komentarfix) : null;
  • Upload dan overwrite file wp-comments-post.php lama anda yang terdapat pada server dengan file baru yang anda telah edit.
  • Selesai, dan XSS tidak akan berjalan pada wordpress anda. :)

Note : Anda bingung dengan mengedit kode seperti diatas? Silakan download file ini. File tersebut berisi wp-comments-post.php yang telah saya edit seperti cara diatas. Jadi kalian hanya tinggal mengekstrak dan mengupload pada server anda masing-masing.

Kalau masih bingung, silakan bertanya disini ya. ^^

Referensi

Pranala Menarik