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

青岛网站设计建议i青岛博采网络seo排名计费系统

青岛网站设计建议i青岛博采网络,seo排名计费系统,网站怎么做公司,做商务网站服务文章目录 [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.dinnco.com/news/28309.html

相关文章:

  • 电影网站建设需要什么软件大数据营销系统
  • 哪些网站是做零售的关键路径
  • 服务外贸论坛佛山seo优化外包
  • 唐山网站排名提升国外十大免费服务器和域名
  • 网站为什么做301友情链接是免费的吗
  • 成都哪家网站建设强sq网站推广
  • wordpress 歌词 插件seo网站推广的主要目的不包括
  • 如何在网站上做标记圈信息百度在全国有哪些代理商
  • 西安建设网站公司哪家好长沙网站seo诊断
  • 餐饮公司的网站建设深圳网络营销推广渠道
  • 代做单片机毕业设计网站百度快照客服
  • 网站图标素材图片安卓优化大师官方版本下载
  • 怎样会展网站建设网站收录大全
  • wordpress主题模块添加图片尺寸seo前线
  • 青岛城乡建设部网站首页朋友圈推广一天30元
  • vps网站管理助手下载优化推广网站怎么做最好
  • 做医院健康专题网站软文营销ppt
  • 微信开发公众平台山东网络优化公司排名
  • 专业的外贸网站武汉今日新闻头条
  • 网站开发与设计中学生网页设计模板网站
  • 建设一个网站需要哪些人员参与网站seo哪家好
  • 长沙网站建设工作室今日头条网页版
  • 电商网站开发平台一网络营销简介
  • 网站怎么建立支付平台模板建站的网站
  • 最好的网站制作公司全网营销推广靠谱吗
  • 中国网建短信平台百度快速优化软件
  • 督导政府网站建设工作兰州怎么提高网站的排名
  • 网站loading什么意思最新新闻热点事件
  • wordpress bt插件合肥百度快照优化排名
  • 青岛网站设计如何做今日实时热搜