0x00
这个漏洞威力确实很大,而且Drupal用的也比较多,使用Fuzzing跑字典应该可以扫出很多漏洞主机,但是做批量可能会对对方网站造成很大的损失,所以我也就只是写个Exp不再深入下去。
0x01
关于漏洞的原理和POC在我的博客上已经有文章进行解释,这里只是着重说一下利用过程。配合POC的效果,我主要是从远程代码执行和GetShell方面去做的利用。
远程代码执行利用:
1.使用超级管理员进行登录
2.开启站点PHP Filter功能
3.新建aticle,选择PHP_CODE模式(编辑php代码)并预览
4.预览页面载入后就会执行代码
对应EXP中DrupalSQLin类的codeExecution函数,这个函数所做的事情就是把上述过程自动化。我编写这个部分比较费劲的是,requests发送attachment遇到了问题,没有找到比较合适的Python模块,最后实在没办法就自己对Post数据包进行拼接,拼接的时候要小心,建议遇到同样问题的朋友参考一下RFC1867协议规范,拼接结构如下:
在调试程序时,使用burpsuite进行辅助很有效果,通过burpsuite你可以清楚看到每一次交互的数据包格式与字段内容。
GetShell利用: