随笔分类 - CTF之反序列化
摘要:主要代码利用点如下 //index.php if(isset($_SESSION['limit'])) { $_SESSION['limti']>5?die("登陆失败次数超过限制"):$_SESSION['limit']=base64_decode($_COOKIE['limit']); } //
阅读全文
摘要:先说下适用条件: PHP版本:7.0.15 - 7.0.33, 7.1.1 - 7.1.33, 7.2.0 - 7.2.34, 7.3.0 - 7.3.28, 7.4.0 - 7.4.16, 8.0.0 - 8.0.3。 变量的初始化不在__construct里,而是在外面进行赋值,如下一样。(co
阅读全文
摘要:<?php highlight_file(__FILE__); class ease{ private $method; private $args; function __construct($method, $args) { $this->method = $method; $this->arg
阅读全文
摘要:能够触发phar反序列化的函数如下: fopen() unlink() stat() fstat() fseek() rename() opendir() rmdir() mkdir() file_put_contents() file_get_contents() file_exists() fi
阅读全文
摘要:<?php class Demo { private $file = 'index.php'; public function __construct($file) { $this->file = $file; } function __destruct() { echo @highlight_fi
阅读全文
摘要:看到ini_set('session.serialize_handler', 'php');让我不由自主的想起了session反序列化漏洞的一道题。直接百度会有很多文章这里不多介绍。 那么我们如何找到代码入口将利用代码写入到session文件?想要写入session文件就得想办法在$_SESSION
阅读全文
摘要:题目附件代码如下: # Author: # Achilles # Time: # 2022-9-20 # For: # ctfshow import base64 import pickle, pickletools import uuid from flask import Flask, requ
阅读全文
摘要:关于前期的信息收集: 源码泄漏user.php.bak和flag.php (如果有机会尝试读取这个文件)这两个有用的。 查看源码泄漏中对blog的过滤部分,然后通过join页面随便输入一个符合规定的blog完成我们的注册。 然后随便点击几下,发现http://61.147.171.105:61712
阅读全文
摘要:魔术方法: 注:魔术方法只有在类中被定义以后才可以触发 PHP 将所有以 __(两个下划线)开头的类方法保留为魔术方法,这些都是 PHP 内置的方法。 __construct() 当一个对象创建时被调用, __destruct() 当一个对象销毁时被调用, __wakeup() 使用 unseria
阅读全文
摘要:<?php highlight_file(__FILE__); include('flag.php'); $cs = file_get_contents('php://input'); class ctfshow{ public $username='xxxxxx'; public $passwor
阅读全文
摘要:index.php 看到该题目第一眼,大脑直接一个简单的想法就是通过访问flag.php添加X-Forwarded-For然后POST发送token数据。 但!在本题的环境当中,由于使用了Cloudflare代理导致,Cloudflare 会将 HTTP 代理的 IP 地址附加到这个标头,在两次调用
阅读全文