drupal 代码执行 (CVE-2018-7600) 描述: Drupal是使用PHP语言编写的开源内容管理框架(CMF),它由内容管理系统(CMS)和PHP开发框架(Framework)共同构成 该漏洞的产生的根本原因在于Drupal对表单的渲染上,攻击者可以利用该漏洞攻击Drupal系统的网站,执行恶意代码,最后完全控制被攻击的网站 影响版本 Drupal 6.x,7.x,8.x 复现:访问地址
到注册处随便输个账号密码注册抓包
改包构造poc代码
获取到flag
原理: 0x01:漏洞位置
这里有个call_user_func_array call_user_func_array函数是调用第一个参数的函数 传入的参数数第二个参数数组 官网解释如下
只需要控制$callable为要执行的函数名然后$args是参数就ok 从上面的代码看出这两个变量是从$elements[‘#lazy_builder’]中取得 elements是从用户传来的post来的 也就是说变量可控 直接注入数组一把梭 在php中 post请求可以传递一个数组
|