# [GYCTF2020]Easyphp # 前言 # 知识点: # www.zip 源码泄露 # PHP 反序列化链 POC # 代码审计 # WP: 进入环境,题目是 easyphp 我就感觉要审源码。。。试了一下常见的泄露,发现存在 www.zip。把代码下载下来进行一下审计,发现 update.php 和 lib.php 可以利用: <?php session_start(); function safe($parm){ $array=...

# [ISITDTU 2019]![1](…/images/[ISITDTU 2019]EasyPHP/1.png)EasyPHP 思路很简单,绕过这两个 if 即可任意代码执行 先看一下第一个正则匹配 看不懂的推荐使用这个网站:https://regex101.com/ if ( preg_match('/[\x00- 0-9\'"`$&.,|[{_defgops\x7F]+/i', $_) ) die('rosé will not do it'); ![2](…/images/[ISITDTU...

# [HarekazeCTF2019]Avatar Uploader 1 [HarekazeCTF2019]Avatar Uploader 1 参考文章点这 首先输入用户登录 要求上传小于 256kB 且小于 256px*256px 的 PNG 图片。 上传做头像 试着传🐎发现没用,没有任何回响 只能去看源码来了 最主要的还是...

# [FireshellCTF2020] Caas C 的预处理 # 进入可以看到是一个编译器 ,输入简单的 php 代码试试 <?php phpinfo();?> 不知道什么的报错,直接复制报错代码百度一下看看(仔细地可以看见最前面有一个后缀.c) 发现清一色的 C 语言报错,那我们找个 c 语言代码传进去试试 #include <stdio.h> int main() { printf("hello, world");}下载出来一个不知什么文件 思路到这里就断了,其实可以猜到 flag...

# [SCTF2019]Flag Shop # 点击 buy flag 试试 提示没有足够的 jkl 这里可以点击 work 去赚取 jkl 正常点击要攒到 flag 怕是不可能,buu 请求过快也会报错 先抓包看看吧 这里不能修改 work 赚取的 jkl,尝试把 cookie 解码看看:直接修改发现出错,有密码。重新开始审计: 又回到最开始的地方。。 扫描一下有没有源码泄露之类的 发现 robots.txt 访问发现有 /filebak 发现 ruby 代码: require 'sinatra' require...

# [羊城杯 2020] easyphp 和 [XNUCA2019Qualifier] EasyPHP 基本一样,唯一的区别就是少了 include_once 导致没办法通过 error_log 来做,预期解应该就是那道题的非预期。 <?php $files = scandir('./'); foreach($files as $file) { if(is_file($file)){ if ($file !== "index.php") { unlink($file); }...

# [BSidesCF 2019]SVGMagic 标题说把 SVG 转为 PNG SVG 是一种用 XML 定义的语言,SVG 图形是可交互的和动态的,可以在 SVG 文件中嵌入动画元素或通过脚本来定义动画。 也就是说这里的 SVG 是个 XML, 并且存在可控的内容,那么自然就会想到 XXE。 究极详细讲解:https://www.freebuf.com/vuls/175451.html 我的理解是: 首先我们要知道,XML 被设计用来传输和存储数据。 然后这个漏洞就是利用了,应用程序在解析XML输入时,没有禁止外部实体的加载。 就拿下面的这个来说<!ENTITY file...

# [极客大挑战 2020] Greatphp 源码: <?php error_reporting(0); class SYCLOVER { public $syc; public $lover; public function __wakeup(){ if( ($this->syc != $this->lover) && (md5($this->syc) === md5($this->lover)) &&...