最新消息:

WordPress searchreplacedb2.php的利用

WEB安全 Eternal 1178浏览 0评论

前言

暑假在对某国外目标网站久攻不下后,转战旁站,于是有了此文。。。这个旁站是wordpress的模版,后台尝试弱口令无果,wpscan扫一扫,只发现一个高危,其它就没什么收获了。\如图,提示说发现一个searchreplacedb2.php页面。

以前搞wordpress时的都没有碰到过这个东西,百度谷歌下也没发现什么利用方式,浏览器访问看看,如图:

看页面描述,这应该就是个连接数据库的脚本,然后可以指定数据库中的内容,然后以其它字符串替换掉。猜测是网站管理员用过之后忘记删除了。点击submit继续看一下。如图:

发现数据库的各种信息都爆出来了,继续点击submit db details,出现如图:

发现了wordpress的各种表,同时谷歌浏览器自动保存了数据库的帐号和密码,这样就可以通过浏览器来查看下保存的星号密码明文了,如图:

有了他的数据库的帐号密码,就想着能不能靠这个再去试下后台登录,尝试了几下,果然并没有什么卵用。到这里,只能返回继续研究下那个页面了。选中图中最下面的wp-user表,然后continue,如图。(一般wp的帐号密码都是存放在wp-user里的吧)

看来在这里就可以对wp-user表里的东西进行替换了,本想替换管理员帐号密码的,但是根本不知道管理员密码的加密值,怎么替换呢?先不管,本地搭建一个wordpress在测试一下这个东西,在wordpress极其相关数据库建立好之后,从github上找到这个脚本下载下来。

在测试的时候发现wp-user表还有个user_email字段,是管理员预留的邮箱,可以通过这个邮箱找回密码。

顿时有了个想法,可不可以通过替换管理员邮箱为自己的邮箱,然后通过找回密码重置管理员密码进入后台。但是管理员邮箱怎么找呢?去网站首页看看,果然在contact us一栏中发现了一个邮箱(如图):

也不知道是不是网站管理员的邮箱,不管了,新注册了个163的邮箱,也没在本地测试了,直接在searchreplacedb2.php里面替换wp-user表里执行替换,如图:

然后去后台点击忘记密码输入邮箱,接着下一步,然后提示邮件已发送,如图:

到邮箱一看,还真收到了邮件,看来那个info的邮箱果然是网站管理员邮箱。如图:

于是通过这个重置密码链接,修改admin的密码,然顺利进入后台,如图:

但是这个后台的功能是被阉割过的,不能编辑模版,没有插件上传,试了各种wordpress后台拿shell方法都不行,只能止步于此。

总结

  1. 可以通过google hack搜索出一些存在此种漏洞的网站:Inurl:searchreplacedb2.php。
  2. 管理员邮箱可以在网站上查找,也可以通过whois查询得出。
  3. 实在找不到管理员邮箱地址,可以尝试猜测邮箱的后缀域名比如123@qq.com 中的qq.com,替换为自己的服务器域名,然后监听25端口即可接收任意发往自己的服务器的邮件:sudo python -m smtpd -n -c DebuggingServer 0.0.0.0:25

顺利收到重置密码的邮件。邮件正文用base64编码,解码后可以得到重置链接,从而重置密码。

 

转载请注明:即刻安全 » WordPress searchreplacedb2.php的利用

您必须 登录 才能发表评论!

合作伙伴