avatar
文章
40
标签
26
分类
0
首页
归档
分类
标签
LogoHello World
搜索
首页
归档
分类
标签

Hello World

PHP反序列化POP链 — 利用 [$obj, method] callable 触发 __call
发表于2026-05-21|解题wp•反序列化
题目源码12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970<?phperror_reporting(0);class User { public $profile; public function __destruct() { echo $this->profile; }}class Profile { public $name; public $helper; public function __toString() { $this->helper->run($this->name); return "guest"; }}class Helper {...
PHAR文件结构及其在反序列化漏洞中的利用
发表于2026-05-21|反序列化•PHP安全•PHAR•文件上传
一、什么是 PHAR 文件PHAR(PHp ARchive)是 PHP 的原生归档格式,类似于 Java 的 JAR 文件。它将多个 PHP 文件打包成一个文件,方便分发和应用。PHP 5.3 之后内置了 PHAR 支持。 一个典型的 PHAR 文件包含四个部分: 123456789┌─────────────────────────┐│ Stub │ ← PHAR 文件头├─────────────────────────┤│ Manifest │ ← 元数据(含反序列化攻击面)├─────────────────────────┤│ File Contents │ ← 被归档的文件内容├─────────────────────────┤│ Signature │ ← 文件签名(可选)└─────────────────────────┘ 二、PHAR 文件结构详解1. Stub(存根)Stub 是 PHAR 文件的最开头部分,是一个 PHP 代码段,...
[SWPUCTF 2018]SimplePHP(Phar反序列化)
发表于2026-05-19|解题wp•反序列化
题目入口打开题目是一个 Bootstrap 导航栏,有三个页面:首页、查看文件、上传文件。页面底部有一个注释 <!--flag is in f1ag.php-->,提示 flag 在 f1ag.php 中。 查看文件的链接是 file.php?file=,参数为空,猜测存在文件包含漏洞。 源码审计先尝试直接读 file.php 的源码,在 ?file=file.php 中看到它引入了 function.php 和 class.php: 123456789101112131415// file.phpinclude 'function.php';include 'class.php';ini_set('open_basedir','/var/www/html/');$file = $_GET["file"] ? $_GET['file'] : "";if(empty($file)) { echo "<...
[安洵杯 2019] easy_serialize_php 反序列化字符逃逸
发表于2026-05-17|解题wp•反序列化
1 题目描述打开题目页面,只有一个 “source_code” 链接,点击可以看到源代码。 2 代码审计访问 ?f=highlight_file 获取源代码: 1234567891011121314151617181920212223242526272829303132333435<?php$function = @$_GET['f'];function filter($img){ $filter_arr = array('php', 'flag', 'php5', 'php4', 'fl1g'); $filter = '/'.implode('|', $filter_arr).'/i'; return preg_replace($filter, '', $img);}if($_SESSION){ unset($_SESSI...
[网鼎杯 2020 青龙组]AreUSerialz(反序列化,弱比较)
发表于2026-05-17|解题wp•反序列化
题目分析题目概述本题是一道典型的 PHP 反序列化漏洞题目,主要考察对 PHP 反序列化机制和比较运算符的理解。 关键代码123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475<?phpinclude("flag.php");highlight_file(__FILE__);class FileHandler { protected $op; protected $filename; protected $content; function __construct() { $op = "1"; $filename = "/tmp/tmpfile"; $content = "Hello World!...
DeepSeek V4 在 Claude Code 上的部署与使用指南
发表于2026-05-16|AI
在 Claude Code 上部署 DeepSeek V4DeepSeek V4 原生兼容 Anthropic 的 API 协议,部署过程非常简单,无需任何第三方工具。 方法一:直接替换后端(推荐)这是最简单的方式,只需设置几个环境变量即可。 步骤 1:获取 DeepSeek API Key前往 DeepSeek 官网 注册账号并创建 API Key。 步骤 2:配置 Claude Code创建或编辑 Claude Code 的设置文件 settings.json: 12345678910{ "env": { "ANTHROPIC_BASE_URL": "https://api.deepseek.com/anthropic", "ANTHROPIC_AUTH_TOKEN": "${DEEPSEEK_API_KEY}", "ANTHROPIC_DEFAULT_SONNET_MODEL": "de...
[NPUCTF2020]ReadlezPHP,反序列化漏洞
发表于2026-05-16|解题wp•反序列化
进入题目,查看网页源码 发现可疑网址,点击进入 找到题目代码,是反序列化题目核心代码为:12345public function __destruct(){ $a = $this->a; $b = $this->b; echo $b($a); } 可以构造变量a—>phpinfo(),变量b—>assert;组合起来后—>assert(phpinfo()),使代码执行phpinfo()assert()函数的功能: 在 PHP 8 以前的版本(如 5.x),assert() 的参数可以是字符串,并会像 eval() 一样被执行 构造出序列化字符串 O:8:”HelloPhp”:2:{s:1:”a”;s:9:”phpinfo()”;s:1:”b”;s:6:”assert”;} get传输使网页执行phpinfo() 传输之前要把source参数去掉,否则会优先执行highlight_file(FILE);的结果而覆盖phpinfo()的执行结果 ctrl+f搜索flag查找到flag
[极客大挑战 2019]PHP,wakeup绕过
发表于2026-05-16|解题wp•反序列化
进入题目,就有页面提示“所以我有一个良好的备份网站的习惯”,是所以网站可能存在网站源码备份 常见的网站源码备份文件后缀:tar.gz,zip,rar,tar常见的网站源码备份文件名:web,website,backup,back,www,wwwroot,temp 一个个组合尝试后,发现www.zip可以成功获得网站源码备份下载有4个文件 访问一下index.php文件:12345<?php include 'class.php'; $select = $_GET['select']; $res=unserialize(@$select); ?> 发现文件包含 class.php 文件 并且文件是get 传参,参数为 select访问class.php文件:1234567891011121314151617181920212223242526272829303132333435363738394041<?phpinclude 'flag.php';error_reporting...
[MRCTF2020]Ezpop,构造反序列化pop链
发表于2026-05-13|解题wp•反序列化
拿到题目后先解析代码123456789101112131415161718192021222324252627282930313233343536373839404142434445464748class Modifier { protected $var; public function append($value){ include($value); } public function __invoke(){ $this->append($this->var); }}class Show{ public $source; public $str; public function __construct($file='index.php'){ $this->source = $file; echo 'Welcome to '.$this-...
php魔术方法
发表于2026-05-09|PHP
一.__construct() – 构造函数1.一、定义与触发条件__construct() 是 PHP 类中最常见的魔术方法,在使用 new 关键字实例化对象时自动调用。它通常用于初始化对象的属性、建立数据库连接等。触发 __construct() 的情况: $obj = new ClassName(); $obj = new ClassName($arg1, $arg2); 反射实例化 (new ReflectionClass(‘ClassName’))->newInstance(); 注意:unserialize() 不会触发 __construct()(反序列化时触发的是 __wakeup())。 2.代码示例:12345678910111213class Database { private $dsn; private $pdo; public function __construct($dsn) { echo "构造函数被调用,DSN = $dsn\n"...
1234
avatar
忆念
文章
40
标签
26
分类
0
我的GitHub
公告
欢迎来到我的博客
最新文章
HTTP请求走私-CL.TE与TE.TE(黑市smuggling题解)2026-08-17
[BJDCTF2020]Cookie is so stable(cookie+Twig模板注入)2026-06-17
[PWNHUB 公开赛 2018]傻fufu的工作日(文件上传数组键名差异漏洞)2026-06-10
[ASIS 2019]Unicorn Shop — Unicode编码绕过2026-06-10
Bp靶场-JWT漏洞2026-06-06
标签
堆叠注入 cookie 转码绕过 JWT 文件包含 MySQL SSTI注入 HTTP请求走私 php伪协议 SSTI 反序列化 编码漏洞 文件上传 phpjiami加密代码的解密 命令执行 AI PHAR python 解题wp sql注入 linux 文件上传漏洞 markdown PHP PHP安全 Unicode
归档
  • 八月 2026 1
  • 六月 2026 8
  • 五月 2026 15
  • 四月 2026 7
  • 三月 2026 9
网站信息
文章数目 :
40
本站总字数 :
48.6k
本站访客数 :
本站总浏览量 :
最后更新时间 :
© 2025 - 2026 By 忆念框架 Hexo 8.1.1|主题 Butterfly 5.5.4
总字数 0 字 | 已运行
搜索
数据加载中