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

网站小视频怎么做代理wordpress媒体库图片路径

网站小视频怎么做代理,wordpress媒体库图片路径,用户界面设计软件,检测网站死链文章目录 [HarekazeCTF2019]Easy Notes-代码审计 [HarekazeCTF2019]Easy Notes-代码审计 登录之后有几个功能点,可以添加节点,然后使用Export导出 我们查看源码, 我们发现想要拿到flag的条件时$_SESSION[admin]true 如果我们能够控制sessio…

文章目录

    • [HarekazeCTF2019]Easy Notes-代码审计

[HarekazeCTF2019]Easy Notes-代码审计

登录之后有几个功能点,可以添加节点,然后使用Export导出

image-20230824205806589

我们查看源码,

我们发现想要拿到flag的条件时$_SESSION['admin']=true

image-20230824210223434

如果我们能够控制session文件,就可以拿到flag了

image-20230824210445088

我们发现session存储的文件改为了:/var/www/tmp

重点看export.php

<?php
require_once('init.php');if (!is_logged_in()) {redirect('/?page=home');
}$notes = get_notes();if (!isset($_GET['type']) || empty($_GET['type'])) {$type = 'zip';
} else {$type = $_GET['type'];
}$filename = get_user() . '-' . bin2hex(random_bytes(8)) . '.' . $type;
$filename = str_replace('..', '', $filename); // avoid path traversal
$path = TEMP_DIR . '/' . $filename;if ($type === 'tar') {$archive = new PharData($path);$archive->startBuffering();
} else {// use zip as default$archive = new ZipArchive();$archive->open($path, ZIPARCHIVE::CREATE | ZipArchive::OVERWRITE);
}for ($index = 0; $index < count($notes); $index++) {$note = $notes[$index];$title = $note['title'];$title = preg_replace('/[^!-~]/', '-', $title);$title = preg_replace('#[/\\?*.]#', '-', $title); // delete suspicious characters$archive->addFromString("{$index}_{$title}.json", json_encode($note));
}if ($type === 'tar') {$archive->stopBuffering();
} else {$archive->close();
}header('Content-Disposition: attachment; filename="' . $filename . '";');
header('Content-Length: ' . filesize($path));
header('Content-Type: application/zip');
readfile($path);

这里可以看到,导出的文件也是写到/var/www/tmp目录下面,所以我们可以尝试session伪造一下,伪造一个session文件

$filename = get_user() . '-' . bin2hex(random_bytes(8)) . '.' . $type;
$filename = str_replace('..', '', $filename); // avoid path traversal
$path = TEMP_DIR . '/' . $filename;

get_user()会获取用户名,bin2hex(random_bytes(8))会生成16进制字符串,

如果我们用户名为sess_,并且$type=.,那么两个.会被替换为空,所以最终文件名就符合session文件的格式了,session文件名可控

那么看一下session内容可控吗:

$archive->addFromString("{$index}_{$title}.json", json_encode($note));

可控的

由于默认session_serialize_handler=php,那么序列化规则为:

处理器对应的存储格式
php键名 + 竖线 + 经过 serialize() 函数反序列处理的值

所以$_SESSION['admin']=true需要满足:

admin|b:1;

但是由于我们导出的文件中有一些内容,防止被污染,我们需要这么写:

|N;admin|b:1;

image-20230824211602859

添加之后导出:

/export.php?type=.

最后替换一下PHPSESSID为文件名:

image-20230824211719493

http://www.yayakq.cn/news/631513/

相关文章:

  • 网站开发属于哪个板块的加工平台用什么材料
  • 免费网站建站下载嘉兴企业网站建设公司
  • 手机app制作网站模板桂林新闻桂林人论坛
  • 温岭新站seo安卓app下载
  • 小程序注册哪类商标seo首页关键词优化
  • 如何做网站讯息深圳保障性住房查询
  • 宿州网站建设公司宜昌网站排名优化
  • ssh鲜花礼品网站建设做铝材的网站
  • 大浪网站建设工作证明怎么写
  • 合肥网站建设 八八四八河南建设银行官网招聘网站
  • dedecms做微网站建设公司网站需要准备哪些材料
  • 网站美编设计怎么做做期货的的都喜欢去什么网站
  • 网站建设与管理vs2010淮北论坛房产
  • 做网站公司融资多少一点科技官方网站
  • php创建站点莱芜雪野湖天气预报
  • 如何在网站后台删除栏目网站建设中页面模板
  • 精美的商城网站介绍东莞微信网站建设信息
  • 网站建设产品话术做翻译小说网站赚钱吗
  • 河北地矿建设集团官方网站wordpress谷歌字体
  • 网站开发者排名网站制作公司交接网站
  • 济南模板建站多少钱产业园门户网站建设方案
  • 江津网站建设口碑wordpress更新失败
  • 国内做心理咨询师培训出名的网站石家庄网红
  • 北京环保网站建设关键词首页排名代做
  • 施甸网站建设惠州广告公司排名
  • 服装企业微网站建设衡水做淘宝网站
  • 东莞网站建设外贸微信商城和小程序的区别
  • 高米店网站开发公司做网站攻击
  • 如何制作企业网站wordpress小图标
  • 网站建设需要步骤公司网站建设合同要交印花税吗