美文网首页
Discuz3.2 xxe复现

Discuz3.2 xxe复现

作者: 查无此人asdasd | 来源:发表于2018-05-02 21:57 被阅读0次

    具体缘由乌云说的很清楚了

    简单来说,就是portalcp_diy.php中,在进行上传模板文件的处理时,调用了import_diy进行操作,在import_diy把上传的xml文件进行一定的处理后,将blockdata这个xml标签中的内容传给block_import,block_import检测了一些xml标签后,将其中style标签下的hash标签作为id,将其中的值插入数据库。于是注入一个特定的xml就可以修改任意模板。

    在上述漏洞上的补充:

        block_import的xml处理有点晕,审计的时候应该记录一下每个变量的声明和值,

       一开始其中的C::t('common_block_style')->fetch_all_by_hash($hashes) 不理解,发现C就是core类,core中的t方法return self::_make_obj($name, 'table', DISCUZ_TABLE_EXTENDABLE);   在_make_obj中,在本次调用中是用来生成表名的,在insert部分,传了一个common_block_style进去,然后再_make_obj中进行拼接成为table_common_block_style,并返回这个表名,在数据库中也能查得到,其中的值也确实是正确的。

    相关文章

      网友评论

          本文标题:Discuz3.2 xxe复现

          本文链接:https://www.haomeiwen.com/subject/mfwcrftx.html