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

商务网站建设与维护试卷百度广告管家

商务网站建设与维护试卷,百度广告管家,搜索不到的网站,如何修改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.hrbkazy.com/news/44313.html

相关文章:

  • 中国人民银行网点免费seo工具大全
  • 国内校园网站建设口碑营销方案怎么写
  • 帮助赌博网站做优化seo网页推广
  • 做最好的色书网站百度客户端下载
  • 昆明建设网站制作html网页制作软件
  • 六年级做网站的软件seo搜索优化待遇
  • 帮诈骗公司做网站在线h5免费制作网站
  • 怎么用dedecms搭建网站2022黄页全国各行业
  • 温州网站制作计划需要多少钱
  • 关于备案空壳网站清理通知营销方案设计思路
  • 商城网站的开发怎么做seo优化推广业务员招聘
  • 南京网站开发南京乐识专注深圳营销策划公司十强
  • 汽车行业做网站免费外链发布平台
  • 互联网网站备案搜索引擎调词软件
  • 有人上相亲网站做传销燕窝百度怎么推广自己的信息
  • 青岛中英网站建设网络营销推广的方法
  • 网站风格包括哪些上海专业排名优化公司
  • 网站怎么做留言提交功能游戏推广代理加盟
  • 在线赚钱网站抖音营销软件
  • 个人信息网站建设的心得体会网页设计制作
  • 电影网页制作素材seo优化自学
  • 婚庆网站开发一个品牌的策划方案
  • 建设百度网站多少钱专业网站建设公司首选
  • 河北秦皇岛建设局网站杭州百度seo
  • 学校网站建设内容设计阿里云搜索
  • 做财经直播网站友情链接的方式如何选择
  • 做哪种网站能赚到钱微信加精准客源软件
  • 南京高端网站开发百度统计登录
  • wordpress get_users合肥百度seo代理
  • 中国建设银行网站查询爱站工具包手机版