Ticket #4811: importers.diff

File importers.diff, 2.6 KB (added by xknown, 5 years ago)

Avoid CSRF and XSS on some importers

  • wp-admin/import/utw.php

     
    3131                } else { 
    3232                        $step = (int) $_GET['step']; 
    3333                } 
     34                 
     35                if ( $step > 1 ) 
     36                        check_admin_referer('import-utw'); 
    3437 
    3538                // load the header 
    3639                $this->header(); 
     
    102105                } 
    103106 
    104107                echo '<form action="admin.php?import=utw&amp;step=2" method="post">'; 
     108                wp_nonce_field('import-utw'); 
    105109                echo '<p class="submit"><input type="submit" name="submit" value="'.__('Step 2 &raquo;').'" /></p>'; 
    106110                echo '</form>'; 
    107111                echo '</div>'; 
     
    137141                } 
    138142 
    139143                echo '<form action="admin.php?import=utw&amp;step=3" method="post">'; 
     144                wp_nonce_field('import-utw'); 
    140145                echo '<p class="submit"><input type="submit" name="submit" value="'.__('Step 3 &raquo;').'" /></p>'; 
    141146                echo '</form>'; 
    142147                echo '</div>'; 
     
    155160                echo '<p>' . sprintf( __('Done! <strong>%s</strong> tags where added!'), $tags_added ) . '<br /></p>'; 
    156161 
    157162                echo '<form action="admin.php?import=utw&amp;step=4" method="post">'; 
     163                wp_nonce_field('import-utw'); 
    158164                echo '<p class="submit"><input type="submit" name="submit" value="'.__('Step 4 &raquo;').'" /></p>'; 
    159165                echo '</form>'; 
    160166                echo '</div>'; 
  • wp-admin/import/wp-cat2tag.php

     
    3838 
    3939        function categories_form() { 
    4040                print '<form action="admin.php?import=wp-cat2tag&amp;step=2" method="post">'; 
     41                wp_nonce_field('import-cat2tag'); 
    4142                print '<ul style="list-style:none">'; 
    4243 
    4344                $hier = _get_term_hierarchy('category'); 
     
    144145                print '<p>' . __('You are about to convert all categories to tags. Are you sure you want to continue?') . '</p>'; 
    145146 
    146147                print '<form action="admin.php?import=wp-cat2tag" method="post">'; 
     148                wp_nonce_field('import-cat2tag'); 
    147149                print '<p style="text-align:center" class="submit"><input type="submit" value="' . __('Yes') . '" name="yes_convert_all_cats" />&nbsp;&nbsp;&nbsp;&nbsp;<input type="submit" value="' . __('No') . '" name="no_dont_do_it" /></p>'; 
    148150                print '</form>'; 
    149151 
     
    158160        } 
    159161 
    160162        function init() { 
    161                 echo '<!--'; print_r($_POST); print_r($_GET); echo '-->'; 
    162163 
    163164                if (isset($_POST['maybe_convert_all_cats'])) { 
    164165                        $step = 3; 
     
    177178                        print '<p>' . __('Cheatin&#8217; uh?') . '</p>'; 
    178179                        print '</div>'; 
    179180                } else { 
     181                        if ( $step > 1 ) 
     182                                check_admin_referer('import-cat2tag'); 
     183 
    180184                        switch ($step) { 
    181185                                case 1 : 
    182186                                        $this->welcome();