wordpress 目前互联网的市场占有率较高,许多站长以及建站公司都在使用这套开源的博客建站系统来设计网站,wordpress的优化以及html静态化,深受google以及搜索引擎的喜欢,全世界大约有着百分之28的网站都在使用这套系统,国外,外贸网站,个人博客使用的最多。
我们SINE安全在对其wordpress网站进行详细的安全检测以及网站漏洞检测,发现wordpress存在着高危的网站安全漏洞,在wordpress4.9版本一下存在着管理员密码找回漏洞,可以在找回密码的过程中窃取用的密码资料,可以先人一步对其找回的密码进行设置。
WordPress 漏洞详情
在该系统代码里我们发现wp_mail这个函数具体的作用是用来发送邮件,用户找回密码首先会发送邮件过去,确认账号的所有者,然后再进行重新设置密码,但是在这个找回密码发送邮件的过程中,我们发现,代码里的发送服务器地址:server这个值里是可以伪造的,也就是说我们可以构造恶意的函数来对其进行sql注入以及查询数据库里的账号密码。
在正常的情况下,网站发送邮件的参数配置里会把退件的一个地址作为用户密码找回的时候,如果没有发送到对方的邮件里,会直接退回到退件的邮件地址里去,也就是说我们可以设置退件的地址发送到我们设置好的邮件地址里去,我们来进行重新找回密码,设置用户的新的密码。
我们首先利用阿里云的服务器,ECS购买一个按量付费的国内服务器,linux centos系统,然后安装nginx+PHP+mysql数据库的这么一个网站环境,再下载WordPress官方的一个版本,安装到服务器中,我们来现场实战一下:如下图:
我们创建一个我们自己的邮箱,在服务器里搭建好邮箱的环境,开启stmp25端口,然后抓包WordPress找回这里,远程代码执行我们的操作,如下图:
这里我们提交到我们的网站里去,邮件没有发送成功就会退送到我们远程代码指定好的邮件地址里去的.
然后如果邮件里没有用户密码找回的链接,我们可以通过查看源代码或者是html代码就可以看到重新设置用户密码的链接。
WordPress 网站漏洞修复建议:
建议各位网站的运营者尽快升级WordPress到最高版本,或者是关闭用户密码找回功能,对网站程序代码不懂的话,也可以直接关闭邮件的发送设置,还是不太懂的话,建议找专业的网站安全公司进行网站漏洞修复,国内SINE安全公司、以及绿盟、启明星辰都是比较专业的。