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

华盟原创文章投稿奖励计划

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

 

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

www.idc126.com

首先原文地址 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
discuz x2-3 后台拿shell简要分析
访问的是home.php 参数mod=spacecp&id=
看home.php源码
discuz x2-3 后台拿shell简要分析
直接调用libfile函数 进入\source\module\home\home_space.php
这里x2.5跟x3有点不一样 x2.5因为没有提交ac参数,默认为profile
discuz x2-3 后台拿shell简要分析
discuz x2-3 后台拿shell简要分析
require_once 进入 \source\include\spacecp\spacecp_profile.php
discuz x2-3 后台拿shell简要分析
执行到include template ,看看template函数 在\source\function\function_core.php文件
discuz x2-3 后台拿shell简要分析
执行到checktplrefresh函数,在同一文件\source\function\function_core.php文件
discuz x2-3 后台拿shell简要分析
进入函数后执行到parse_template函数,继续看parse_template函数,在\source\class\class_template.php
discuz x2-3 后台拿shell简要分析
fopen打开模板,即\template\default\home\space_profile.htm
discuz x2-3 后台拿shell简要分析
最终发现目标,至于模板执行的东西可以看参考这个网页
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
discuz x2-3 后台拿shell简要分析
这个$profilegroup参数受后台控制来自\source\admincp\admincp_setting.php文件
$settingnew['profilegroupnew']
discuz x2-3 后台拿shell简要分析
最终提交id包含执行。
至于为什么要截断,是因为多了个尾巴。
discuz x2-3 后台拿shell简要分析
Over!
有什么错误请联系http://t.qq.com/fake_wang

本文原创,作者:小龙,其版权均为华盟网所有。如需转载,请注明出处:https://www.77169.net/html/111549.html

发表评论