利用野草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函数 ...
随机推荐
- EffectiveC++ 第4章 设计与声明
我根据自己的理解,对原文的精华部分进行了提炼,并在一些难以理解的地方加上了自己的"可能比较准确"的「翻译」. Chapter4 设计与声明 Designs and Declarat ...
- 083_Remove Duplicates from Sorted List
class ListNode: def __init__(self,x): self.val=x self.next=None ####注意这道题并不是把重复元素全部去掉而是保留一个#### #### ...
- 【转】史上最详细的Composer安装tp5教程
http://www.thinkphp.cn/topic/52362.html Composer安装tp5教程1.下载composer先介绍几个网站Composer官网https://getcompo ...
- Highcharts开发图表
1.折线图 显示一个静态的折线图,显示如下数据 星期 温度 周一 9~14 周二 4~10 周三 1~7 周四 4~9 周五 5~11 周六 8~13 周天 7~10 新建demo1.html < ...
- Centos 06 文件类型和扩展名&索引节点inode和存储块block
本节内容 1.文件类型 2.文件扩展名 3.索引节点inode和block块 首先需要申明一点, 1.在linux里面文件扩展名和文件类型是没有关系的 2.为了容易区分和兼容用户使用windows的习 ...
- 402 CSS菜鸟:transform and transition
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- java web添加mysql过程中遇到的错误及解决办法
问题一:遇到提示找不到驱动 com.mysql.jdbc.Driver 起初项目中是导入了mysql-connector-java-5.1.45-bin.jar 包的,但是一直依然报错,最后去官网 ...
- 【转】HashMap集合中key只能为引用数据类型,不能为基本类型
在HashMap中,为什么不能使用基本数据类型作为key? 其实和HashMap底层的存储原理有关,HashMap存储数据的特点是:无序.无索引.不能存储重复元素. 存储元素采用的是hash表存储数据 ...
- $Django 路飞之显示视频,Redis存购物车数据,优惠卷生成表,优惠卷的一个领取表。(知识小回顾)
知识小回顾之json序列化问题 精髓:支持python的几种数据类型(注意不是对象,不能放对象),其次是tuple变list. ensure_ascii:默认值True,如果dict内含有non-AS ...
- 如何给PDF设置全屏动画
PPT文件可以播放全屏,并且可以实现飞入.分割.闪烁等动画模式播放.那么PDF文件可以吗?我们想要给PDF文件加入动画效果应该怎么做呢,也有很多的小伙伴不知道该怎么把PDF文件切换为全屏动画模式想要知 ...