Uploads directory should be public, or whatever other settings in which the webserver is able to write to it, which in term of website security makes very little difference.
You most likely have an unsecure code or unsecure server and there is not much point in rebuilding your site without first fixing those two issues first.
In addition the content you have currently in your DB can not be trusted as it might include backdoors, therefor after auditing your code you will need to audit the DB content as well.
Related Posts:
- What’s the effect if this malware if infected your WP?
- Malware on site [closed]
- How to find the backdoor of the hack
- My wordpress site was hacked – is my htaccess file compromised?
- My WordPress Blog sends malicious traffic to other sites [closed]
- Hacked WordPress website, as notified by Google Search Console, what to do? [closed]
- How was my WP site hacked [closed]
- If a WP install is hacked, can it spread to other domains on a server?
- Find and Replace text in the entire table using a MySQL query
- Is it a good idea to rename the “index.php” in “wp-admin” folder to avoid being hacked?
- How to fight this wp-info.php exploit? [closed]
- Prevent Hacking of WordPress Site [closed]
- Suspicious URLs being loaded after hack and restore
- Site hacked with malware [closed]
- Copy wordpress website pages and content
- How do I know if my WP Theme is using infamous TimThumb?
- Spam pages hack? [closed]
- Check for malicious code?
- Why would a hacker add this code to each post, and how to do mass cleanup?
- Is the current spate of hacks related to the recent security fix?
- I have removed the malware from our website however, when I tried again to search the word from Google it is still there [closed]
- Have I been hacked? Mysterious code at the top of theme files [closed]
- Strange codes in my wordpress site and my website is running too slow [closed]
- Spam Content Serving from old cached version of site?
- How to solve wordpress redirection (no malware was found)?
- Help determining if the following are legitimate files
- My blog was hacked? WP posting random posts
- Have I been hacked – getting new site setup email for 8 localhost wordpress sites
- Site Hacked – WordPress Divi Site – Cannot find where to fix the issue? [closed]
- malware in wordpress installer on dreamhost. [closed]
- Where I can find a list of WordPress security risks?
- looking for indoxploit hack solution [closed]
- Why functions.php file automatically empty?
- Bruteforce attack from 127.0.0.1?
- WordPress installer attack
- Why wordpress is hitting another url
- Where do hackers usually run their hacking script? [closed]
- Malicious Code in Index.php WordPress [closed]
- WP Site Hacked, Serp Google Spam [closed]
- My site appears to be hacked [closed]
- WordPress Redirect Hack
- Strings of malicious code to look for after a hack
- Hacked/cloaked sitemap [closed]
- Not able to change WordPress admin email. Someone added another admin credentials
- My WordPress Website Redirect to bigbricks.org and other site
- Verifying that I have fully removed a WordPress hack?
- If a hacker changed the blog_charset to UTF-7 does that make WordPress vulnerable to further attacks?
- Tips for finding SPAM links injected into the_content
- How Attackers write script into my php files?
- Is this a hacking script in function.php?
- What should I do about hacked server?
- Restrict access to xmlrpc.php
- Hacked website redirect, only on desktop, help with restoring it [closed]
- Change WP-Login or WP-Admin
- hSite has no css on mobile [closed]
- How to mass delete one line from all posts after site hack
- Security issues with WP sites
- Invisible spam post in backend
- You appear to have already installed WordPress. To reinstall please clear your old database tables first
- Increased CPU load due to admin-ajax.php spam
- How to locate & delete hidden pages on a site
- sitemap contains weird links and does not contain my pages [closed]
- Malware script in database post table only? [closed]
- New user is assigned 2 roles: customer and superadmin
- How can I safely hide the fact that my website runs on WordPress? [closed]
- Hacked WordPress website /Homepage redirect [closed]
- WordPress Footer Missing After Website Hack
- My WordPress Websites are always under attack
- What is this code in my theme’s footer.php causing chmod permission warnings? [closed]
- Spam users registers even when registration is disabled
- Hack-Proof OR Security in WordPress — is it real?
- How to find exploited wordpress plugin [closed]
- What can I do when an outside party hacks into my weblog and changes my display name?
- Troll the hackers by redirecting them
- malware undetectable by multiple scans
- WordPress Hacked 5.5 admin-ajax.php [closed]
- Can’t access htaccess [closed]
- Replace domain in database
- Admin user lacks admin permissions after hack and can’t reinstate
- Website Got Hacked – Fixed – Now Cannot Activate Theme
- Username was changed to “admin”
- WordPress disable direct access of files in WordPress installation path
- Am receiving more than thousand mails in single day from ‘[email protected]’ continuously
- Is this a hack? WordPress Usernames of every website we have changed into one single name automatically?
- Should I prevent access to .htaccess and wp-config.php files?
- Javascript Injection on my WordPress Site
- Replacing nav-menus.php file with standard clean one?
- Some code is added automatically to my site’s header – what is it?
- How can hackers access WP usernames? [duplicate]
- Could a user account with a stolen password compromised entire WP site?
- suspicious boolean.php file in wp web root [closed]
- How to remove content from hacked pages? [closed]
- My WP site and password was hacked, what to do? [closed]
- Is my WP site being hacked?
- Should WordPress Add Options to Enhance Security or Leave it to plugin developers? [closed]
- WordPress Hacks/Defacing [closed]
- WordPress website is redirecting on some different shopping page
- WordPress broken dashboard with ninja-shell text
- wp-salt.php and wp-cli.yml File present in public_html folder
- Do not allow the creation of an administrator remotely