<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Minanu&#039;s Official Blog &#187; celah keamanan</title>
	<atom:link href="http://www.minanu.com/tag/celah-keamanan/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.minanu.com</link>
	<description>Just another WordPress weblog</description>
	<lastBuildDate>Fri, 11 Feb 2011 03:53:12 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.4</generator>
		<item>
		<title>Ah&#8230; Akhirnya, Menutup Celah Keamanan WordPress 2.8</title>
		<link>http://www.minanu.com/ah-akhirnya-menutup-celah-keamanan-wordpress-2-8/</link>
		<comments>http://www.minanu.com/ah-akhirnya-menutup-celah-keamanan-wordpress-2-8/#comments</comments>
		<pubDate>Thu, 13 Aug 2009 06:55:51 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[Think]]></category>
		<category><![CDATA[celah keamanan]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://minanu.com/?p=483</guid>
		<description><![CDATA[Jadi setelah ada acara hacking hackingan reset password ampe dua kali dari orang gak dikenal seperti yang saya bilang di twitter tadi, maka saya akan mempublikasikan bagaimana menanggulangi masalah ini *halah&#8230; kayak press release di mana gitu&#8230; he5x&#8230;. * Begini ceritanya Pertama : Cara paling gampang, update saja ke 2.8.4 ha5x&#8230;. *Gedubrak simpel banget yah [...]]]></description>
			<content:encoded><![CDATA[<p>Jadi setelah ada acara hacking hackingan reset password ampe dua kali dari orang gak dikenal seperti yang saya bilang di <a href="http://twitter.com/minanube/status/3275748878">twitter tadi</a>, maka saya akan mempublikasikan bagaimana menanggulangi masalah ini *halah&#8230; kayak press release di mana gitu&#8230; he5x&#8230;.  <img src='http://www.minanu.com/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' />   *</p>
<p>Begini ceritanya <img src='http://www.minanu.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Pertama : Cara paling gampang, update saja ke 2.8.4 ha5x&#8230;. *Gedubrak simpel banget yah <img src='http://www.minanu.com/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' />   *</p>
<p>Kedua : Mari kita lihat How the Machine Works, halah&#8230;.</p>
<ol>
<li>pertama dia akan meminta reset password dengan memasukkan username admin atau emailmu, di area /wp-login.php?action=lostpassword</li>
<li>kedua kemudian email si admin akan terkirimi email yang isinya bla&#8230; bla&#8230; gitu deh, pokoknya follow this link untuk reset password website anda atau semacamnya. Tapi inilah celahnya, anda tidak dikirimi notifikasi peresetan passwor dan tentunya anda juga tidak mengklik link yang dikasih.</li>
<li>Coding PHP, lihat di wp-login.php<br />
coba di cek yang ini :<br />
<code><br />
<strong>line 186</strong>:</p>
<p>function reset_password($key) {<br />
global $wpdb;</p>
<p>$key = preg_replace('/[^a-z0-9]/i', '', $key);</p>
<p>if ( empty( $key ) )<br />
return new WP_Error('invalid_key', __('Invalid key'));</p>
<p>$user = $wpdb-&gt;get_row($wpdb-&gt;prepare("SELECT * FROM $wpdb-&gt;users WHERE<br />
user_activation_key = %s", $key));<br />
if ( empty( $user ) )<br />
return new WP_Error('invalid_key', __('Invalid key'));<br />
...[ganti baris yah ]....<br />
<strong>line 276:</strong><br />
$action = isset($_REQUEST['action']) ? $_REQUEST['action'] : 'login';<br />
$errors = new WP_Error();</p>
<p>if ( isset($_GET['key']) )<br />
$action = 'resetpass';</p>
<p>// validate action so as to default to the login screen<br />
if ( !in_array($action, array('logout', 'lostpassword', 'retrievepassword',<br />
'resetpass', 'rp', 'register', 'login')) &amp;&amp; false ===<br />
has_filter('login_form_' . $action) )<br />
$action = 'login';</p>
<p>...[ganti baris lagi]....</p>
<p><strong>line 370:</strong></p>
<p>break;</p>
<p>case 'resetpass' :<br />
case 'rp' :<br />
$errors = reset_password($_GET['key']);</p>
<p>if ( ! is_wp_error($errors) ) {<br />
wp_redirect('wp-login.php?checkemail=newpass');<br />
exit();<br />
}</p>
<p>wp_redirect('wp-login.php?action=lostpassword&amp;error=invalidkey');<br />
exit();</p>
<p>break; </code>
</li>
<li>Jadi intinya dia akan memasukkan array atau &#8220;tanda sama dengan&#8221; ke variabel $key  * Ini bener apa gak sih? kalo gak yo disepuro waelah, namanya juga usaha menulis yang baik dan benar <img src='http://www.minanu.com/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' />  . * Pokoknya dia akan memasukkan alamat ini ke websitemu : http://websitemu.com/wp-login.php?action=rp&amp;key[]=</li>
<li>Gotcha ! Website worpress anda telah di reset passwornya</li>
<li>Pencegahannya. Buka dan edit file wp-login.php (bisa pakai text wrangler seperti saya atau text editor kesayangan anda) lihat code baris 190 pada code berikut :<br />
<code>if (empty($key))</code></li>
<li>Ganti dengan kode ini :<br />
<code> if(empty($key) || is_array($key)) </code></li>
<li>Beres&#8230;..</li>
</ol>
<p>Peringatan : Sebenarnya saya gak paham kode2 di atas, cuman hasil lihat2 aja di web security he5x&#8230; namanya juga usaha, kalo gak berusaha mana bisa pinter, tul gak <img src='http://www.minanu.com/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.minanu.com/ah-akhirnya-menutup-celah-keamanan-wordpress-2-8/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

