CTFSHOW-反序列化-Writeup

PHP的魔法方法 PHP 将所有以 __(两个下划线)开头的类方法保留为魔术方法。所以在定义类方法时,除了上述魔术方法,建议不要以 __ 为前缀。 常见的魔法方法如下: 1__construct(),类的构造函数 2 3__destruct(),类的析构函数 4 5__call(),在对象中调用一个不可访问方法时调用 6 7__callStatic(),用静态方式中调用一个不可访问方法时调用 8 9__get(),获得一个类的成员变量时调用 10 11__set(),设置一个类的成员变量时调用 12 13__isset(),当对不可访问属性调用isset()或empty()时调用 14 15__unset(),当对不可访问属性调用unset()时被调用。 16 17__sleep(),执行serialize()时,先会调用这个函数 18 19__wakeup(),执行unserialize()时,先会调用这个函数 20 21__toString(),类被当成字符串时的回应方法 22 23__invoke(),调用函数的方式调用一个对象时的回应方法 24 25__set_state(),调用var_export()导出类时,此静态方法会被调用。 26 27__clone(),当对象复制完成时调用 28 29__autoload(),尝试加载未定义的类 30 31__debugInfo(),打印所需调试信息 web254 1<?php 2 3 ?>'; 4 public $code='xrntkk'; 5} 6 7$poc = new ctfshowvip(); 8echo urlencode(serialize($poc)); web262 字符串逃逸 ...

2024-12-22 · 6 分钟 · Xrntkk

CTFSHOW-命令执行-Writeup

web29 1<?php 2 3/* 4# -*- coding: utf-8 -*- 5# @Author: h1xa 6# @Date: 2020-09-04 00:12:34 7# @Last Modified by: h1xa 8# @Last Modified time: 2020-09-04 00:26:48 9# @email: h1xa@ctfer.com 10# @link: https://ctfer.com 11 12*/ 13 14error_reporting(0); 15if(isset($_GET['c'])){ 16 $c = $_GET['c']; 17 if(!preg_match("/flag/i", $c)){ 18 eval($c); 19 } 20 21}else{ 22 highlight_file(__FILE__); 23} 可以看到通过eval函数可以执行php代码或者系统命令,其中过滤了flag。 ...

2024-12-22 · 26 分钟 · Xrntkk

CTFSHOW-文件包含-Writeup

以PHP为例,常用的文件包含函数有以下四种include(),require(),include_once(),require_once() Web78 php伪协议 ...

2024-12-22 · 37 分钟 · Xrntkk

CTFSHOW-文件上传-Writeup

web151 前台验证 将一句话木马改成png,抓包修改后缀即可 payload: 1=system('cat /var/www/html/flag.php'); web152 这道题没有前端检验,但是解法跟web151是一样的 web153 一开始尝试了大小写绕过 上传后发现服务器不解析 ...

2024-12-22 · 6 分钟 · Xrntkk

CTFSHOW-爆破-Writeup

web21 抓个包 我们可以看到他的账号密码是通过base64编码加密后再发送的,问题不大 payload设置如下 我们还要设置一下payload处理 开始爆破,根据长度或者状态码判断即可 ...

2024-10-20 · 4 分钟 · Xrntkk

CTFSHOW-信息收集-Writeup

Web 1-5 查看网页源代码 抓个包看有没有藏东西 查看robots.txt phps源码泄露,访问index.phps,通过其源码泄露,在其中找到flag Web6 网页提示下载源码查看,访问url/www.zip得到源码文件 ...

2024-10-20 · 3 分钟 · Xrntkk