=Start=
缘由:
我在WordPress后台没有看到更新按钮,再加上 WordPress <=4.6.1 又爆出了一个漏洞,于是就想着手动升级,平时没时间,今天时间比较充分,就想着手动升级试试。
正文:
搜索关键字:
- 手动更新WordPress
- manually update WordPress
实际操作:
手动升级 WordPress 分以下5个步骤:
1、备份 & 临时禁用WordPress插件
- 备份目录
- 备份数据库
- 临时禁用所有WordPress插件(在手动升级WordPress前一定要将所有的插件给禁用了,防止插件在新版本的WordPress出现不兼容的情况)
2、下载最新版的WordPress
# wget https://wordpress.org/wordpress-4.6.1.tar.gz # wget https://wordpress.org/wordpress-4.6.tar.gz # wget https://cn.wordpress.org/wordpress-4.5.3-zh_CN.tar.gz
3、删除原有的 wp-includes 和 wp-admin 目录
# cd # cp -R /var/www/blog . # cd blog/ # rm -rf wp-includes/ wp-admin/ # cd ..
4、解压新版WordPress并删除其中的 wp-content 目录
# tar zxf wordpress-4.6.1.tar.gz # cd wordpress/ # rm -rf wp-content/ # cp -R * ~/blog/ # cd ~/blog/ # rm -rf readme.html license.txt # cd # cp -R blog/ /var/www/
5、浏览器访问 https://ixyzero.com/blog/wp-admin/upgrade.php 进行升级
6、重新启用WordPress插件
参考链接:
- https://www.freehao123.com/wordpress-upgrate/
- https://www.freehao123.com/shengji-wordpress/
- http://www.caopeng.net/2010/07/wordpress-manual-upgrade-steps/
- http://www.jb51.net/cms/68397.html
- https://www.wpdaxue.com/wordpress-manually-update.html
=END=
《 “手动升级WordPress” 》 有 18 条评论
默认情况下,WordPress的TwentyFourteen主题显示有点问题(固定宽度1260px),需要修改一下:
https://www.webhostface.com/kb/knowledgebase/how-to-make-wordpress-twenty-fourteen-theme-full-width/
还有就是为其添加「显示摘要」这个功能:
http://www.pooy.net/wordpress-twentyfourteen.html
如何给你的WordPress网站添加个性化图标
http://www.wpsuperstars.net/add-a-favicon-in-wordpress/
http://www.wpbeginner.com/wp-tutorials/how-to-add-a-favicon-to-your-wordpress-blog/
推荐一个图标查找网站
https://www.iconfinder.com/search/?q=apple
什么样的情况会让黑客可以直接放一个文件夹上到你的网站上??
https://www.v2ex.com/t/322885
在看到上面那篇帖子的时候想到的和WordPress相关的一些防护手段:
`
0. Nginx以 www 这样的低权限用户运行; #权限最小化
1. Web目录不可写入,可写目录不可执行;#防止执行未授权代码
2. 禁用 WordPress的在线编辑主题 功能; #避免直接被getshell
3. 及时升级WordPress到最新版; #预防已知漏洞
4. MySQL禁止外联、WordPress强口令(后台操作页面最好启动HTTPS,如果能全站HTTPS肯定最好,预防嗅探、监听等问题); #启用HTTPS好处多多
5. 尽量自己手动编译(少用一键安装程序),不需要的程序/服务不要安装、用的时候注意安全,比如Redis、MongoDB这种; #避免因其他原因被入侵
6. 定期做安全扫描、检测; #及时发现可能存在的安全问题
7. 日志定期备份、WordPress目录定期备份、WordPress数据库定期备份; #没有绝对的安全,及时、定期备份以减少可能的损失才是王道
8. 主题、插件不要随意安装,尽量选择官方提供的,并且记得及时更新; #减少木马、后门的可能性
9. 在 Nginx 层面上做一些防护,比如禁止下载 .sql 文件这种; #预防不良习惯导致的被入侵
10.Linux系统也请记得及时更新,还有一些基础软件(比如之前爆出的ImageMagick漏洞); #系统都不安全了,Web还谈什么安全?
`
(在不丢失个性化设置的前提下)如何更新WordPress的主题
https://premium.wpmudev.org/blog/upgrade-wordpress-themes-even-if-they-are-customized/
http://www.wpbeginner.com/wp-themes/how-to-update-a-wordpress-theme-without-losing-customization/
https://allbloggingtips.com/update-wordpress-theme/
https://www.wpkube.com/wordpress-child-themes/
总结:
1.记住所做的变更,然后用新文件覆盖旧文件,最后把修改再做一遍;
2.使用 `Child Theme` 的方式;
如何查看WordPress主题的版本?
`
方法一:登录后台在「外观」-「主题」那里即可看到正在使用的主题的版本;
方法二:通过查看主题目录下的 style.css 文件来获取正在使用的主题的版本;
`
https://help.themeskingdom.com/knowledge-base/how-to-find-theme-version/
http://www.agentwp.com/how-to-find-the-version-of-a-wordpress-theme
如何获取WordPress版本与包含主题的版本?
去 https://cn.wordpress.org/releases/ 页面下载各版本的WordPress,然后用上面的方法二进行查看。
`
# find wordpress-*/wp-content/themes/twentyfourteen -type f -iname “style.css” | xargs grep –color -i “version: 1.”
`
WordPress子主题
https://codex.wordpress.org/zh-cn:%E5%AD%90%E4%B8%BB%E9%A2%98
http://blog.wpjam.com/article/child-themes/
https://www.endskin.com/child-theme/
https://www.wpdaxue.com/creating-child-themes-for-your-wordpress-theme-framework.html
http://zmingcx.com/wordpress-theme-individuation.html
http://www.bianlei.com/wordpress-child-themes/
http://ijs.me/archives/3.html
一些常用的WordPress插件
Crayon Syntax Highlighter [https://wordpress.org/plugins/crayon-syntax-highlighter/]
Google XML Sitemaps [https://wordpress.org/plugins/google-sitemap-generator/]
Baidu Sitemap Generator [https://wordpress.org/plugins/baidu-sitemap-generator/]
禁用Google Fonts的代码和插件汇总
http://wpchina.org/the-ways-to-slove-google-fonts-issue-1647/
http://devework.com/google-fonts-in-wordpress.html
http://blog.wpjam.com/m/disable-google-fonts/
http://yusi123.com/3036.html
http://zmingcx.com/wordpress-fonts-googleapis.html
http://abublog.com/disable_google_fonts.html
【漏洞预警】WordPress REST API 内容注入(4.7.0/4.7.1)
http://www.mottoin.com/95808.html
https://wordpress.org/news/2017/01/wordpress-4-7-2-security-release/
https://blog.sucuri.net/2017/02/content-injection-vulnerability-wordpress-rest-api.html
https://www.exploit-db.com/exploits/41223/
https://www.exploit-db.com/exploits/41224/
https://packetstormsecurity.com/files/140893
WordPress随机显示本地头像
http://zmingcx.com/wordpress-random-local-head.html
【漏洞预警】WordPress全版本WPDB SQL注入预警及简要分析(影响 4.8.2 及之前版本)
http://bobao.360.cn/news/detail/4358.html
https://blog.ircmaxell.com/2017/10/disclosure-wordpress-wpdb-sql-injection-technical.html
https://wordpress.org/news/2017/10/wordpress-4-8-3-security-release/
https://wordpress.org/wordpress-4.8.3.tar.gz
WordPress SQL注入分析(一)
http://blog.vulspy.com/2017/09/02/Wordpress-SQL-Injection-Analysis-1/
Wordpress SQL注入分析(二)
http://blog.vulspy.com/2017/09/03/Wordpress-SQL-Injection-Analysis-2/
WordPress <= 4.8.2 SQL Injection POC
http://blog.vulspy.com/2017/11/09/Wordpress-4-8-2-SQL-Injection-POC/
据一位以色列安全人员介绍,大部分 WordPress(<= 4.9.2) 网站可能受 CVE-2018-6389 DOS 漏洞影响而宕机
http://securityaffairs.co/wordpress/68709/hacking/cve-2018-6389-wordpress-dos-flaw.html
https://github.com/Quitten/doser.py
https://github.com/Quitten/WordPress/blob/master/wp-dos-patch.sh
WordPress 升级修改配置备忘录
https://blog.mimvp.com/article/21480.html
禁用 WordPress 更新检测和自动更新功能
http://zmingcx.com/disable-wordpress-updates.html
`
可以通过下面的代码禁用WordPress更新检测和更新功能,加快后台打开速度。
将下面代码添加到当前主题functions.php中:
// 彻底关闭自动更新
add_filter(‘automatic_updater_disabled’, ‘__return_true’);
// 关闭更新检查定时作业
remove_action(‘init’, ‘wp_schedule_update_checks’);
// 移除已有的版本检查定时作业
wp_clear_scheduled_hook(‘wp_version_check’);
// 移除已有的插件更新定时作业
wp_clear_scheduled_hook(‘wp_update_plugins’);
// 移除已有的主题更新定时作业
wp_clear_scheduled_hook(‘wp_update_themes’);
// 移除已有的自动更新定时作业
wp_clear_scheduled_hook(‘wp_maybe_auto_update’);
// 移除后台内核更新检查
remove_action( ‘admin_init’, ‘_maybe_update_core’ );
// 移除后台插件更新检查
remove_action( ‘load-plugins.php’, ‘wp_update_plugins’ );
remove_action( ‘load-update.php’, ‘wp_update_plugins’ );
remove_action( ‘load-update-core.php’, ‘wp_update_plugins’ );
remove_action( ‘admin_init’, ‘_maybe_update_plugins’ );
// 移除后台主题更新检查
remove_action( ‘load-themes.php’, ‘wp_update_themes’ );
remove_action( ‘load-update.php’, ‘wp_update_themes’ );
remove_action( ‘load-update-core.php’, ‘wp_update_themes’ );
remove_action( ‘admin_init’, ‘_maybe_update_themes’ );
可根据自己的需要选择添加上述代码。想彻底禁用更新功能,只添加第一句就行了。
注:以下代码来自网络都是多年以前的,在新版WP中可能已失效,经测试后会陆续更新。
经测试,只要自己不去手动点更新菜单,不会有更新提示。
`
WordPress 5.0.0 Remote Code Execution
https://blog.ripstech.com/2019/wordpress-image-remote-code-execution/
`
在2019年2月19日,国外安全人员在博客中的披露了一则Wordpress 5.0.0版本远程代码执行漏洞。
该漏洞本质上是由一个目录遍历漏洞以及一个本地文件包含漏洞组合利用而导致的一个远程代码执行漏洞。
当攻击者获取到WordPress站点具有一定访问权限的账户后,即可利用该漏洞在底层服务器上执行任意PHP代码,从而实现完全远程接管服务器的目的。
影响范围:
WordPress 5.0.0
WordPress 4.9.8及之前的版本
修复方案:
Wordpress官方已经在 WordPress 5.0.1更新了安全补丁,用户可以更新至WordPress 5.0.1之后的版本。
`
【漏洞预警】WordPress 5.0.0远程代码执行漏洞
https://mp.weixin.qq.com/s/wt9664x1kAi4lnA9X254pQ
【安全预警】WordPress 5.0.0 曝远程代码执行漏洞
https://mp.weixin.qq.com/s/0sykv5z0Rw-Kasfz6uODiw
WordPress 5.0 RCE 详细分析
https://mp.weixin.qq.com/s/6mxQ9h8QfeT3MgaoHw3pow
WordPress 5.0.0 曝出远程代码执行
https://nosec.org/home/detail/2261.html
wordpress-image-远程代码执行漏洞分析
https://kylingit.com/blog/wordpress-image-%E8%BF%9C%E7%A8%8B%E4%BB%A3%E7%A0%81%E6%89%A7%E8%A1%8C%E6%BC%8F%E6%B4%9E%E5%88%86%E6%9E%90/
WordPress <=5.2.3: viewing unauthenticated posts (CVE-2019-17671) 漏洞 PoC
https://0day.work/proof-of-concept-for-wordpress-5-2-3-viewing-unauthenticated-posts/
CODE INVALID: The 2FA code provided is either expired or invalid. Please try again.
根据以往经验,主要原因在于服务器上的时间和本地的时间不一致导致校验码还未输入但已超时,解决办法就是调整服务器的时间和本地时间一致即可解决。
实际登陆服务器根据 date/timedatectl 命令查看,时间差了1分钟,因为NTP时间同步服务没有开启,安装然后启动就OK了。
解决 CentOS 7 中时间快了 8 小时的问题
https://blog.csdn.net/wuxianjiezh/article/details/91957415
`
# 查看当前系统时间
$ date
$ timedatectl
# 安装 NTP 服务
$ sudo yum install -y ntp
# 编辑 NTP 配置文件(注释掉默认的 NTP 公共池时间服务器,并使用中国的 NTP 池服务器),一般可省略此步骤
$ sudo vim /etc/ntp.conf
# 启动 NTP 服务
$ sudo systemctl status ntpd
$ sudo systemctl start ntpd
$ sudo systemctl enable ntpd
`
CentOS: How to Set Date, Time, TimeZone and NTP Synchronization
http://woshub.com/centos-set-date-time-timezone-ntp/