• My username & password has been hacked twice in the last week. After the first hack, I changed the password for my hosting account & wordpress, and restored my site from a pre-hack back up. But somehow it happened again.

    Fortunately, nothing is happening to my site other than the changed username & password.

    I have the most up-to-date version of wordpress (3.0.1). I have a feeling this hack is through the host. Is there a way to figure out if the hack is through the host?

    If I change hosts, is it possible that I could be taking this problem with me to the new host? Any thing I need to do to prevent that?

    Also, does anyone know if restricting IP addresses in Htaccess for /wp-admin helps protect me if the hack is through the host? http://www.mattcutts.com/blog/three-tips-to-protect-your-wordpress-installation/

    Thanks in advance.

Viewing 12 replies - 1 through 12 (of 12 total)
  • Moderator t-p

    (@t-p)

    I’ve reported that my site was hacked too, a week ago, by what looks like a password reset script/hack (it did happen again, yesterday).

    My hosting company was quickly blamed, even though I did confirm with them my account was untouched.

    http://wordpress.org/support/topic/so-i-got-hacked-3-hours-ago

    I wish you better luck than I had.

    ps; what’s your hosting company?

    Thread Starter idahsto8

    (@idahsto8)

    I’m at midphase as well. Sounds like we have the same issue.

    Midphase too? Funkey!

    I’ll send midphase those two threads, see what they say.

    I suggest you do the same.

    Thread Starter idahsto8

    (@idahsto8)

    awhitemage – where in your directory are the “two” files you found?

    They were index.php and header.php, in my current theme. They simply were modified to display hacked content.

    Thread Starter idahsto8

    (@idahsto8)

    awhitemage – Can you walk me through how you changed your wp admin username & password back so you could again login? Or, have you not been able to get back in? Thank you.

    In your cpanel (“www.yourdomain.com/cpanel”), access PHPMyAdmin, then, in your wordpress database, click on “wp_users”. You’ll see the admin user in there, edit that user. In the “user_pass” field, change the password and don’t forget to change “fonction” to “MD5”.

    voilà

    Thread Starter idahsto8

    (@idahsto8)

    @awhitemage Thank you. That’s exactly what I was looking for. However, I had two usernames I had created, one apparently was deleted. The remaining one only has partial permissions (Author permissions). Any idea on how to create a new user with full permissions? Or get back the previous user that was deleted? Thanks so much.

    In the users table, the user that has an ID of 1 is the admin, so he has full rights.

    Thread Starter idahsto8

    (@idahsto8)

    Update: For a 2nd time, I restored a pre-hack backup & have made a number of security enhancements. I don’t know if any of these will prevent this from happening again, but thought I’d share. If anyone has further suggestions please let me know.

    I added these to my public_html .htaccess:

    # protect wpconfig.php
    <files wp-config.php>
    order allow,deny
    deny from all
    </files>

    # DENY PUBLIC ACCESS TO YOUR php.ini file
    <Files php.ini>
    order allow,deny
    deny from all
    </Files>

    # DENY PUBLIC ACCESS TO YOUR php5.ini file
    <Files php5.ini>
    order allow,deny
    deny from all
    </Files>

    # QUERY STRING EXPLOITS
    RewriteCond %{QUERY_STRING} \.\.\/ [NC,OR]
    RewriteCond %{QUERY_STRING} boot\.ini [NC,OR]
    RewriteCond %{QUERY_STRING} tag\= [NC,OR]
    RewriteCond %{QUERY_STRING} ftp\: [NC,OR]
    RewriteCond %{QUERY_STRING} http\: [NC,OR]
    RewriteCond %{QUERY_STRING} https\: [NC,OR]
    RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%3E) [NC,OR]
    RewriteCond %{QUERY_STRING} mosConfig_[a-zA-Z_]{1,21}(=|%3D) [NC,OR]
    RewriteCond %{QUERY_STRING} base64_encode.*\(.*\) [NC,OR]
    RewriteCond %{QUERY_STRING} ^.*(\[|\]|\(|\)|<|>|�|”|;|\?|\*|=$).* [NC,OR]
    RewriteCond %{QUERY_STRING} ^.*("|'|<|>|\|{||).* [NC,OR]
    RewriteCond %{QUERY_STRING} ^.*(%24&x).* [NC,OR]
    RewriteCond %{QUERY_STRING} ^.*(%0|%A|%B|%C|%D|%E|%F|127\.0).* [NC,OR]
    RewriteCond %{QUERY_STRING} ^.*(globals|encode|localhost|loopback).* [NC,OR]
    RewriteCond %{QUERY_STRING} ^.*(request|select|insert|union|declare|drop).* [NC]
    RewriteRule ^(.*)$ – [F,L]

    I found this person who had a similar type of hack. They made several changes. The one I changed was the wp-config.php permission to 400.

    I’m working on restricting IP addresses to /wp-admin with .htacess in that folder, but keep getting a “page doesn’t exist” error after attempting to login. I had it working, until I added some of the public_html .htaccess items listed above. I don’t know if one of them is interfering or not.

    @idahsto8: This may or may not help.

    I password-protected my wp-admin directory… But somehow I’m doubtful it’ll keep them from hacking my wordpress installation again.

Viewing 12 replies - 1 through 12 (of 12 total)
  • The topic ‘WP Version 3.0.1 hacked: Someone changed my username and password’ is closed to new replies.