Make WordPress Core

Ticket #4811: importers.diff

File importers.diff, 2.6 KB (added by xknown, 18 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();