discuz x2-3 后台拿shell简要分析

discuz x2-3 后台拿shell简要分析

 

(discuz都x3了,你的BMW x3在哪) by fake

首先原文地址 http://www.unhonker.com/bug/1217.html
先跳过这第一步
"查看源代码打印帮助
Content-Disposition: form-data; name="settingnew[profilegroupnew][base][available]"
改为
Content-Disposition: form-data; name="settingnew[profilegroupnew][plugin][available]"
"
这个先不管
直接看/home.php?mod=spacecp&id=../../robots.txt%00

访问的是home.php 参数mod=spacecp&id=
看home.php源码

直接调用libfile函数 进入\source\module\home\home_space.php
这里x2.5跟x3有点不一样 x2.5因为没有提交ac参数,默认为profile


require_once 进入 \source\include\spacecp\spacecp_profile.php

执行到include template ,看看template函数 在\source\function\function_core.php文件

执行到checktplrefresh函数,在同一文件\source\function\function_core.php文件

进入函数后执行到parse_template函数,继续看parse_template函数,在\source\class\class_template.php

fopen打开模板,即\template\default\home\space_profile.htm

最终发现目标,至于模板执行的东西可以看参考这个网页
http://www.jb51.net/article/19712.htm
这里需要 $operation == 'plugin'
这就是第一步
Content-Disposition: form-data; name="settingnew[profilegroupnew][base][available]"
改为
Content-Disposition: form-data; name="settingnew[profilegroupnew][plugin][available]"
的原因
具体$operation哪里来的,可以看\source\include\spacecp\spacecp_profile.php

这个$profilegroup参数受后台控制来自\source\admincp\admincp_setting.php文件
$settingnew['profilegroupnew']

最终提交id包含执行。
至于为什么要截断,是因为多了个尾巴。

Over!
有什么错误请联系http://t.qq.com/fake_wang

本文由 华盟网 作者:小龙 发表,其版权均为 华盟网 所有,文章内容系作者个人观点,不代表 华盟网 对观点赞同或支持。如需转载,请注明文章来源。

0

发表评论