这个漏洞出在后台:( wp-admin/post.php if ( current_user_can('edit_post', $post_ID) ) { if ( $last = wp_check_post_lock( $post->ID ) ) { $last_user = get_userdata( $last ); $last_user_name = $last_user ? $last_user->display_name : __('Somebody'); $message = sprintf( __( 'Warning: %s is currently editing this post' ), wp_specialchars( $last_user_name ) ); $message = str_replace( "'", "\'", "<div class='error'><p>$message</p></div>" ); //提交\'经过此处代码处理后变为\\' :) add_action('admin_notices', create_function( '', "echo '$message';" ) ); //利用上面的方法闭合echo后面的单引号,就可以执行命令了[ex:\';phpinfo();\'];另外这个地方也可以利用create_function函数自身的一个bug[1]来执行命令[ex:\';}phpinfo();//] } else { wp_set_post_lock( $post->ID ); wp_enqueue_script('autosave'); } } Wordpress 2.7.0 暂无
这个漏洞出在后台:( wp-admin/post.php if ( current_user_can('edit_post', $post_ID) ) { if ( $last = wp_check_post_lock( $post->ID ) ) { $last_user = get_userdata( $last ); $last_user_name = $last_user ? $last_user->display_name : __('Somebody'); $message = sprintf( __( 'Warning: %s is currently editing this post' ), wp_specialchars( $last_user_name ) ); $message = str_replace( "'", "\'", "<div class='error'><p>$message</p></div>" ); //提交\'经过此处代码处理后变为\\' :) add_action('admin_notices', create_function( '', "echo '$message';" ) ); //利用上面的方法闭合echo后面的单引号,就可以执行命令了[ex:\';phpinfo();\'];另外这个地方也可以利用create_function函数自身的一个bug[1]来执行命令[ex:\';}phpinfo();//] } else { wp_set_post_lock( $post->ID ); wp_enqueue_script('autosave'); } } Wordpress 2.7.0 暂无