本帖最后由 DogKing 于 2015-10-11 01:30 编辑
Wordpress searchreplacedb2.php的利用
(看到同学都在90sec玩耍,也来凑个热闹,本人菜鸟,写了篇短文,与各位分享,大牛轻喷。) 前言 暑假在对某国外目标网站久攻不下后,转战旁站,于是有了此文。。。 这个旁站是wordpress的模版,后台尝试弱口令无果,wpscan扫一扫,只发现一个高危,其它就没什么收获了。 如图1,提示说发现一个searchreplacedb2.php页面。
图 1
以前搞wordpress时的都没有碰到过这个东西,百度谷歌下也没发现什么利用方式,浏览器访问看看,如图2
图2 看页面描述,这应该就是个连接数据库的脚本,然后可以指定数据库中的内容,然后以其它字符串替换掉。猜测是网站管理员用过之后忘记删除了。点击submit继续看一下。如图3
图3 发现数据库的各种信息都爆出来了,继续点击submit db details,出现如图4所示
图4 发现了wordpress的各种表,同时谷歌浏览器自动保存了数据库的帐号和密码,这样就可以通过浏览器来查看下保存的星号密码明文了,如图5
图5 有了他的数据库的帐号密码,就想着能不能靠这个再去试下后台登录,尝试了几下,果然并没有什么卵用。到这里,只能返回继续研究下那个页面了。选中图4中最下面的wp-user表,然后continue,如图6。(一般wp的帐号密码都是存放在wp-user里的吧)
图6 看来在这里就可以对wp-user表里的东西进行替换了,本想替换管理员帐号密码的,但是根本不知道管理员密码的加密值,怎么替换呢? 先不管,本地搭建一个wordpress在测试一下这个东西,在wordpress极其相关数据库建立好之后,从github上找到这个脚本下载下来。
图7 在测试的时候发现wp-user表还有个user_email字段,是管理员预留的邮箱,可以通过这个邮箱找回密码。
图8 顿时有了个想法,可不可以通过替换管理员邮箱为自己的邮箱,然后通过找回密码重置管理员密码进入后台。但是管理员邮箱怎么找呢?去网站首页看看,果然在contact us一栏中发现了一个邮箱(如图9),也不知道是不是网站管理员的邮箱,不管了,新注册了个163的邮箱,也没在本地测试了,直接在searchreplacedb2.php里面替换wp-user表里执行替换,如图10、11。
图9
图10
图11 然后去后台点击忘记密码输入邮箱,接着下一步,然后提示邮件已发送,如图12、13
图12
图13 到邮箱一看,还真收到了邮件,看来那个info的邮箱果然是网站管理员邮箱。如图14
图14 于是通过这个重置密码链接,修改admin的密码,然顺利进入后台,如图15
图15 但是这个后台的功能是被阉割过的,不能编辑模版,没有插件上传,试了各种wordpress后台拿shell方法都不行,只能止步于此。 总结:1、可以通过google hack搜索出一些存在此种漏洞的网站 Inurl:searchreplacedb2.php。 2、管理员邮箱可以在网站上查找,也可以通过whois查询得出。 3、笔者菜鸟一枚,实力有限,只能通过这个替换进后台,不知各位看官有没有什么方法通过这个替换数据库字符拿到webshell,或者更进一步的利用,欢迎一起交流。
======================= 文章是很认真写出来的,内容比较丰富,含有亮点,故通过
|